最近在学习#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。
原文链接: http://blog.csdn.net/poechant/article/details/6243573