dboyking 发表于 2006-8-7 18:07:51

请问EXPORT_SYMBOL是怎样实现的?

EXPORT_SYMBOL是在导出变量的时候用到的宏,但是不明白它是怎样实现的,这个宏是在哪里定义的?

ro4tub 发表于 2006-10-17 12:39:19

请使用http://lxr.linux.no/source 或者cscope等工具阅读代码。


#define EXPORT_SYMBOL (sym)   __EXPORT_SYMBOL(sym, "")


185 #define __EXPORT_SYMBOL(sym, sec)                               \
186         extern typeof(sym) sym;                                 \
187         __CRC_SYMBOL(sym, sec)                                  \
188         static const char __kstrtab_##sym[]                     \
189         __attribute__((section("__ksymtab_strings")))         \
190         = MODULE_SYMBOL_PREFIX #sym;                            \
191         static const struct kernel_symbol __ksymtab_##sym       \
192         __attribute_used__                                    \
193         __attribute__((section("__ksymtab" sec), unused))       \
194         = { (unsigned long)&sym, __kstrtab_##sym }
页: [1]
查看完整版本: 请问EXPORT_SYMBOL是怎样实现的?