我刚刚在浏览 gcc
的源代码文件。在 gcc.c
中,我发现了这样的内容
extern int main (int, char **);
int
main (int argc, char **argv)
{
现在我的疑问是,extern
是用来告诉编译器这个特定的函数不在本文件中,但会在项目其他地方找到。但在这里,main
的定义紧跟着extern
声明。那么extern
声明有什么作用呢? 在这个具体的例子中,extern
似乎像我们在汇编中使用的export
一样运作,可以将特定的符号导出到模块之外。你们有什么想法吗?