最近在学习#pragma的用法,现在记录两个作为学习笔记,如下。
(1)先说用法:
#pragma startup function-name <priority> #pragma exit function-name <priority>
含义如下:
第一个pragma表示在main函数被called之前先call名为function-name这个函数。
第二个pragma表示在程序通过_exit退出之前,call名为function-name这个函数。
但是function-name这个函数,必须是不携带参数,且不返回值的函数,即:
void func(void);
(2)关于optional的priority
这个优先级是可选的,但是必须在[64, 255]这个闭区间内。[1, 63]这个区间的优先级是用作ISO的startup和shutdown机制使用的,不要将优先级定义在此区间内。如果不设定优先级,则默认设置为100。
本文介绍了如何使用C/C++预处理指令#pragma来指定启动和退出时调用的函数。详细解释了#pragmastartup与#pragmaexit的语法及用法,并强调了被调用函数的要求与优先级设置的重要性。
342

被折叠的 条评论
为什么被折叠?



