BR 技术头条

技术头条

技术链接、资讯与社区分享流

bl blog.delphij.net / 2026-05-10 17:39 / by @技术头条

C++ 中的 main 定义

    新的 C++ 标准中 不允许给 main 指定 linkage-specification 了。

    当然,考虑到原本 main() 也是 C 运行环境在开始运行程序的时候调用的, 而 C 运行环境自然也预期 C linkage,即不按照 C++ 的习惯对符号根据参数增加名字前缀, 因此大部分编译器在遇到 C++ 程序定义全局 main() 的时候也会按照习惯采取 C linkage 方式去翻译。这一规则首先被 GCC 采纳,随后 LLVM 也跟进了。

    然而我今天遇到一个奇葩彻底把我雷到了。

发表评论