c++ - #undef main 没有结果

标签 c++ visual-studio-2010 program-entry-point undef

我正在使用 MVisualC++ 2010,当我尝试取消定义“main”时,没有结果,控制台照常启动。我期待一些丢失的入口点错误或其他东西。 这是为什么?

#undef main
int main()
{
}

最佳答案

main 首先不是 #define。您的 #undef 没有任何改变。

#define foo bar 告诉预处理器“用 bar 替换所有出现的 foo”。 #undef foo 告诉预处理器“foo 不再有特殊意义,保持原样”

如果您想要链接器错误,请将 main 重命名为例如main2,或者做例如这个:

void foo();
int main() {
  foo();
}

这告诉编译器 foo 函数存在(但不是它是什么)。 main 尝试使用它,因此链接器在找不到它时会报错。

关于c++ - #undef main 没有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5203011/

相关文章:

c++ - 删除指针而不是变量

c++ - 如何只创建一个文件而不打开它

c++ - C++ 不将 `std::vector<std::string>` "overload"作为参数添加到 `main()` 的原因是什么?

java - "Failed to load Main-Class manifest attribute from client.jar"在可能的恶意软件 .jar 文件中?

c++ - 如何在 C++ 中的 ROS 包文件中写入字符串消息

c# - "comment out selected lines"工具栏按钮在 Visual Studio 2010 中被禁用

c# - 如何在 Visual Studio 2010 中正确引用 dll?

database - 如何在vs2010中部署一个dbproj?

Java多个Class和多个main方法,执行所有main方法

c++ - 使用 C++ 互操作在 Haskell 中构建简单的 DSL