基本的C ++程序崩溃了VS 2008

时间:2010-01-19 07:07:06

标签: c++ visual-studio-2008

我正在跟踪this tutorial将.lib包装在C ++ DLL中。

在我使用VS向导生成Win32 DLL项目之后,所有内容都编译得很好。

然后,按照本教程,我替换这个VS生成的代码:

DEMODLL_API int fnDemoDll(void)
{
    return 42;
}

代码:

DEMODLL_API int fnDemoDll(int a,int b)
{
    return a+b;
}

当我构建时,VS 2008 SP1 IDE崩溃。

谷歌出现了几次这种类型的崩溃,但似乎并没有什么适用。

事件查看器中有与崩溃相关的条目:

  

错误应用程序devenv.exe,   版本9.0.30729.1,时间戳   0x488f2b50,故障模块   VCProjectEngine.dll,版本   9.0.30729.1,时间戳0x488f2e94,异常代码0xc0000005,故障   偏移0x0003dd11,进程ID 0x1f80,   申请开始时间   0x01ca98d27f9c8b85。

更新:

我重新创建了项目,编译得很好,改变了

return 42;

return 43;

和VS再次崩溃。

2 个答案:

答案 0 :(得分:2)

确切的代码可能无关紧要。它是IDE,而不是崩溃的编译器。你能以另一种方式开始构建吗?

答案 1 :(得分:0)

我的VS 2008遇到了类​​似的问题。对我而言,发生的事情是IDE突然关闭而没有更多信息。

然后我尝试使用DebugDiag调试IDE。这个程序可以调试外部应用程序,转储它们的符号,进行堆栈跟踪等等。对于这些类型的问题非常有帮助,你不知道是什么原因造成这样的问题。

通过将Intellisense重命名为新名称来禁用Intellisense解决了我的问题(因此它被禁用)。您的问题可能有所不同,但DebugDiag可以帮助您诊断。

如果您想尝试禁用Intellisense并查看它是否适合您,请尝试将 \ Microsoft Visual Studio 9.0 \ VC \ vcpackages \ feacp.dll 重命名为其他内容并查看其是否有效。但是,这似乎不是你的问题。