g ++中main()的链接是什么

时间:2019-04-02 07:18:06

标签: c++ g++

根据ISO_14882_2014的规定,3.6.1主要功能[basic.start.main]

The linkage (3.5) of main is implementation-defined.

与g ++的联系是什么,因为g ++的官方文档似乎没有此信息。

2 个答案:

答案 0 :(得分:2)

在手册中没有直接提及,但是在“ GCC命令选项”一章中,我们有以下内容:

  

-Wmain如果main的类型可疑,则发出警告。 main应该是外部函数   链接,返回int,并接受零个参数,两个或三个参数   适当的类型。 默认情况下,此警告已在C ++中启用并已启用   通过“ {-Wall”或“ -Wpedantic”。

[已添加重点]

由此我们可以推断出此实现中main的链接是外部的。

答案 1 :(得分:0)

这是为了防止您意外调用主函数或编写“错误的”主函数。

  

不得在程序内使用功能主体。   main的(3.5)是实现定义的。定义main的程序   被删除或声明main为内联,静态或constexpr为   病态的。主名称没有其他保留。