C++ VC++;返回码的作用是什么?
我有密码。像这样:C++ VC++;返回码的作用是什么?,c++,windows,visual-c++,C++,Windows,Visual C++,我有密码。像这样: int functionA (){ Foo(**,**,**); return 0; } Foo()是一个巨大的函数(超过10000行)。Foo函数包含一些多线程代码 现在的问题是,如果我在Foo之后有“return”代码,那么Foo可以正确运行 如果我在Foo()和“return”之间插入其他代码(即使是非常简单的cout代码)。Foo函数的行为将异常(部分运行不正确) 我调试了3天。什么也没找到 如果我在Foo()和“return”之间插入其他代码(即使
int functionA (){
Foo(**,**,**);
return 0;
}
Foo()是一个巨大的函数(超过10000行)。Foo函数包含一些多线程代码
现在的问题是,如果我在Foo之后有“return”代码,那么Foo可以正确运行
如果我在Foo()和“return”之间插入其他代码(即使是非常简单的cout代码)。Foo函数的行为将异常(部分运行不正确)
我调试了3天。什么也没找到
如果我在Foo()和“return”之间插入其他代码(即使是非常简单的cout代码)。Foo函数的行为将异常(部分运行不正确)
听起来像是Foo
以某种方式破坏了堆栈。您可能会发现,声明冗余变量(从而更改堆栈内容)“修复”了问题
我会寻找一个工具,在你的代码中发现内存问题。如果您没有这样的工具,请仔细查看分配内存的所有用法。我的水晶球坏了。恐怕你得提供更多的细节。@DavidHeffernan:p对不起,恐怕我不能。作为一个麻瓜,我会去见一些先知。谢谢,我明天上班的时候会去试试。对这件事真的很困惑。我以前从没见过这个。谢谢你的建议