#pragma 小节

(1)#pragma startup function-name <priority> 

(2)#pragma exit function-name <priority>

    含义如下:

    第一个pragma表示在main函数被call之前先call名为function-name这个函数。

    第二个pragma表示在程序通过调用_exit退出之前,先call名为function-name这个函数。

    但是function-name这个函数,必须是不携带参数,且不返回值的函数,即:void func(void);

(3)关于optional的priority

    这个优先级是可选的,但是必须在[64, 255]这个闭区间内。

    [1, 63]这个区间的优先级是用作ISO的startup和shutdown机制使用的,不要将优先级定义在此区间内。

    如果不设定优先级,则默认设置为100。

原文地址:https://www.cnblogs.com/Master-Qi/p/14640964.html