ZHCU875Z August 2001 – October 2023 SM320F28335-EP
要访问表示整数值的链接器符号,请使用 _symval 内置运算符,这本质上是一个强制转换操作。
例如,链接器符号 __TI_STACK_SIZE 表示普通整数。要在 C/C++ 代码中获取符号的值作为整数,请使用以下语法:
extern void __TI_STACK_SIZE;
size_t get_stack_size() { return _symval(&__TI_STACK_SIZE); }
此类外部声明中的类型无关紧要,因为只需要符号的地址。在严格的 ANSI 模式下,无法使用 void 类型来声明此变量,因此请改用 unsigned char。
要了解为何需要使用 _symval 运算符来访问链接器定义的整数值,请参阅 节 8.6.4,了解链接器符号与 C 标识符的区别。