#define NSD_INIT(fn) __attribute__((section(".init_array"))) typeof(fn) *__##fn = fn这个宏的作用
时间: 2023-11-29 08:30:57 浏览: 132
这个宏的作用是将函数 fn 加入到 .init_array 段中。.init_array 是一个特殊的段,其中包含了需要在程序启动时执行的函数指针列表。当程序启动时,操作系统会遍历这个列表,依次调用其中的函数。这个宏的实现依赖于 GCC 编译器的特性,__attribute__((section(".init_array"))) 用来指定函数所在的段。同时,为了避免函数名冲突,宏会生成一个以 __ 开头的新名字。
阅读全文