带有extern关键字的c ++函数

时间:2018-05-07 06:27:35

标签: c++ extern

我正在浏览源代码,我找到了这些片段

extern int main(); main();

还有一个是

extern void create_network_device(int N, const char* route, const char* ip); create_network_device(0, "10.0.0.0/24", "10.0.0.1");

以上代码中发生了什么?

编辑:上面的代码段在.cpp文件中。如上所示调用它们之间没有任何代码。

1 个答案:

答案 0 :(得分:0)

第一个片段在技术上是UB,因为如果看起来该程序在某处定义了外部C ++链接void main()的函数。

extern void create_network_device(int N, const char* route, const char* ip);
 create_network_device(0, "10.0.0.0/24", "10.0.0.1");

extern开头的行用外部链接声明函数create_network_device,然后调用该函数。该函数可以在程序的任何编译模块中。