我告诉VC ++在发布模式下编译我的程序,但assert()语句仍然会触发。我认为断言应该是从发布版本中编译出来的。这是怎么回事?我是否需要设置其他设置以跳过编译它们?
答案 0 :(得分:2)
检查您要定义的预处理器symbold。 Debug构建通常会定义_DEBUG
,而Release构建通常会定义NDEBUG
。通常在定义NDEBUG
时关闭断言。
答案 1 :(得分:0)
在调试器下打开应用程序。在断言对话框启动时,调试 - >断开。查看断言触发的源文件。现在看一下该文件的构建设置。如果设置似乎正确并且您正在加载发行版本,请在编译器命令行上设置/ P和/ d1PP以显示错误#define的来源。
马丁