我项目的某些部分在发布模式下不起作用。我可以使用printf进行检查,但不会打印任何内容。我将通过以下代码向您展示:

void SNKsomething::vGetState()
{
#ifdef SNK_STH
for(int i = 0; i < 2; i++)
{
printf("sth\n');
}


此外,SNK_STH在文件Globals.h中定义如下

#ifdef _DEBUG // in Project properties
#define SNK_STH
#else
// .....


因此,我看不到我在发布模式下打印的内容。我想知道我必须在VS-2008的项目属性中对_DEBUG做一些事情。是不是

最佳答案

_DEBUG是预处理器宏。如果右键单击属性并转到c / c ++,则预处理器是选项之一。

发行版和调试的预处理器定义不同。如果将SNK_STH添加到版本预处理器宏中,您将看到您的printf。

如果要在调试和发行版中都看到代码,请考虑将其从ifdef中拉出。

关于c++ - vs 2008中的#ifdef _DEBUG发行模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13409845/

10-11 18:52