所以我今天创造了这个dll并且它无缘无故地崩溃了......
这有效:
testa++;
testb++;
const char *t = "test";
if (t == "adoinfosidnoxucnviune")
{
}
这在testb ++崩溃:
testa++;
const char *t = "test";
if (t == "adoinfosidnoxucnviune")
{
testb++;
}
testa和testb是整数 甚至连它与之相比的字符串,我都没有得到它
答案 0 :(得分:0)
您正在比较指针,而不是指针指向的值。
使用strcmp
或使用std::string
。
崩溃必须发生在其他地方。
因为您指向两个不同的对象,所以“if”语句中的代码不会执行,因为指针中的值不同。
在代码的某处,您正在测试testb
的值。在第一个示例中,testb
始终递增。在第二个示例中,testb
不会递增。
您是否初始化了testb
?
说真的,当你单独使用调试器时,崩溃前执行的最后一行是什么?