我的问题是,在C中何时应该使用关键字extern
引用函数.
我不知道什么时候应该在实践中使用它.在我编写程序时,我使用的所有函数都可以通过包含的头文件来使用.那么,为什么访问未在头文件中公开的内容对extern
有用呢?
我可能在想extern
是如何错误工作的,如果是,请纠正我.
而且如果它是默认声明,而头文件中没有关键字,那么您是否应该 Select extern
?
我的问题是,在C中何时应该使用关键字extern
引用函数.
我不知道什么时候应该在实践中使用它.在我编写程序时,我使用的所有函数都可以通过包含的头文件来使用.那么,为什么访问未在头文件中公开的内容对extern
有用呢?
我可能在想extern
是如何错误工作的,如果是,请纠正我.
而且如果它是默认声明,而头文件中没有关键字,那么您是否应该 Select extern
?
extern
会更改链接.对于关键字,假定函数/变量在其他地方可用,并将解析推迟到链接器.
函数上的extern
个和变量上的extern
个是有区别的.
对于variables,它不实例化变量本身,即不分配任何内存.这需要在其他地方完成.因此,如果您想从其他地方导入变量,这一点很重要.
对于functions,这只告诉编译器链接是外部的.由于这是默认值(使用关键字static
表示函数未使用外部链接绑定),因此不需要显式使用它.