我只是浏览了一下gcc
源文件。在gcc.c
,我发现了类似的东西
extern int main (int, char **);
int
main (int argc, char **argv)
{
现在我的疑问是extern
是告诉编译器特定的函数不在这个文件中,但可以在项目的其他地方找到。但在这里,定义main
紧接在extern
宣言。目的是什么extern
那么声明送达吗?
看起来,在这个具体的例子中,extern
似乎表现得像export
我们在汇编中使用,其中我们将特定符号导出到模块之外
有任何想法吗?
你误解了extern
- 确实如此not告诉编译器定义在another文件,它只是声明它存在而不定义它。在中定义它是完全可以的same file.
C 具有声明(声明某物存在而不定义它)和定义(实际上使其存在)的概念。你可以declare任意次数,但只能定义一次。
由于函数默认具有外部链接,因此extern
在这种情况下,关键字是不相关的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)