使用Visual Studio 2015我在一个解决方案中有两个项目。一个项目总是作为EXE构建。它在第二个项目中调用一个函数。第二个项目可以编译为EXE或DLL。
如果第二个项目编译为DLL,那么一切正常。如果第二个项目编译为EXE,则第二个项目中的new
在尝试调用malloc
时崩溃。
当第二个项目构建为EXE时,有人可以解释为什么会失败吗?
EXE:
__declspec(dllimport) void func();
int main()
{
new char[8];
func();
return 0;
}
DLL或EXE:
__declspec(dllexport) void func()
{
new char[8];
}
int main()
{
return 0;
}