【发布时间】:2018-05-07 06:27:34
【问题描述】:
我正在浏览一个源代码,我发现了这些 sn-ps
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");
上面的代码发生了什么?
edit : 上面的 sn-ps 在 .cpp 文件中。如上所示调用它们,中间没有任何代码。
【问题讨论】:
-
关于
main的第一个sn-p,在C++中自己调用main实际上是无效的。它应该永远由您自己的代码调用。 -
@GauravSehgal 您提供的链接解释了全局变量并在头文件中声明。上面的代码在 .cpp 文件中,我想知道为什么他们以这种方式调用。
-
能否提供转载的源代码部分,其中使用了它?
-
@karra 是一样的。当涉及编译器时,.h 文件只是 .cpp 文件文本的一部分。见 5.2 翻译阶段
-
该函数没有“调用”两次,只有一次。第一个是函数的声明,也称为函数原型。需要声明以便编译器知道该函数存在于程序中的某处,因此可以调用它。