链接到exe时,malloc失败

时间:2015-09-17 22:21:47

标签: c++ c++11 visual-c++

使用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;
}

0 个答案:

没有答案