根据ISO_14882_2014的规定,3.6.1主要功能[basic.start.main]
The linkage (3.5) of main is implementation-defined.
与g ++的联系是什么,因为g ++的官方文档似乎没有此信息。
答案 0 :(得分:2)
在手册中没有直接提及,但是在“ GCC命令选项”一章中,我们有以下内容:
-Wmain
如果main
的类型可疑,则发出警告。main
应该是外部函数 链接,返回int
,并接受零个参数,两个或三个参数 适当的类型。 默认情况下,此警告已在C ++中启用并已启用 通过“ {-Wall
”或“-Wpedantic
”。
[已添加重点]
由此我们可以推断出此实现中main
的链接是外部的。
答案 1 :(得分:0)
这是为了防止您意外调用主函数或编写“错误的”主函数。
不得在程序内使用功能主体。 main的(3.5)是实现定义的。定义main的程序 被删除或声明main为内联,静态或constexpr为 病态的。主名称没有其他保留。