C++ 中的 main 定义
💡
原文中文,约900字,阅读约需2分钟。
📝
内容提要
C++ 新标准不允许为 main 函数指定链接规范。大多数编译器仍然按照 C 语言的方式处理 main 函数。文章建议在命名空间外定义一个新的 main 函数来调用命名空间中的 main,以避免潜在问题。
🎯
关键要点
- 新的 C++ 标准中不允许给 main 指定 linkage-specification。
- 大多数编译器仍然按照 C 语言的方式处理 main 函数。
- 在 C++ namespace 中定义 main 函数可能导致问题。
- 建议在命名空间外定义一个新的 main 函数来调用命名空间中的 main,以避免潜在问题。
❓
延伸问答
C++ 中 main 函数的链接规范有什么变化?
新的 C++ 标准中不允许给 main 函数指定链接规范。
大多数编译器如何处理 C++ 中的 main 函数?
大多数编译器仍然按照 C 语言的方式处理 main 函数。
在 C++ 命名空间中定义 main 函数会有什么问题?
在 C++ namespace 中定义 main 函数可能导致问题,因为它不符合 C++ 的习惯。
如何避免在命名空间中定义 main 函数带来的问题?
建议在命名空间外定义一个新的 main 函数来调用命名空间中的 main。
为什么要去掉 extern "C" 在 main 函数前面?
去掉 extern "C" 是为了符合新的 C++ 标准,避免链接问题。
在 C++ 中,如何正确调用命名空间中的 main 函数?
可以在命名空间外定义一个新的 main 函数,使用 return foo::bar::baz::main(); 来调用。
➡️