我创建了一个 C# 应用程序,有 3 个项目:
- C# 项目 [启动]
- 命令行项目
- 本机 C++ 项目 [使用 VC90 编译器 (Visual Studio 2008)]
在这里,我在 C++ 项目中有一个简单的类,我正在从 CLI 项目中导出并调用这个类的一个非常简单的方法。
代码构建良好,但是一旦我尝试运行它,它就会退出并显示以下输出消息:
程序“[6088] VS2012_ConsoleApp.exe: Native”已退出,代码为 -1073740791 (0xc0000409)。程序“[6088] VS2012_ConsoleApp.exe: Managed (v4.0.30319)”已退出,代码为 -1073740791 (0xc0000409)。
如果我在堆中创建一个类对象,它工作正常。如果我创建静态对象实例,就会出现错误。
// WORKING CODE [Object creation on heap]
NativeClass* cls = new NativeClass();
int returnVal = cls->Add(A, B);
// This code is not working
NativeClass cls;
int returnVal = cls.Add(A, B);
return returnVal;