ARMCC编译环境下的 $ Sub $ $ 和 $ Super $ $

版权声明:转载引用请标明出处 https://blog.csdn.net/qq_42860728/article/details/89495882

$sub$$$super$$函数标识符编写代码,可实现在进入主应用程序之前对系统功能的初始化。
ARM® Compiler v5.06 for µVision® armlink User Guide

这是具有特殊模式的函数:用于有一个已经存在且不能被改变的函数的情况下(比如不能更改的库函数和ROM代码中)。使用这两个模式可以帮原函数打补丁进行对程序的修补。

例如存在一个函数foo();

$sub$$foo :使用foo函数来定义新的功能函数,在foo()函数之前或者后使用$sub$$foo 可以添加一些新的程序代码。

$super$$foo :使用foo函数可直接调用原始的未修补的函数,使用$super$$foo函数将直接跳转到foo()函数。

简言之就是用来添加修改初始化过程中要执行的程序。

仿真单步运行:
12

注意
$sub$$$super$$机制只在静态链接时工作,$super$$引用是不能导入或导出到动态符号表中的。

猜你喜欢

转载自blog.csdn.net/qq_42860728/article/details/89495882