Visual studio 2015 C++/CLI应用程序在启动时崩溃(\u register\u onexit\u函数)

Visual studio 2015 C++/CLI应用程序在启动时崩溃(\u register\u onexit\u函数),visual-studio-2015,crash,c++-cli,crt,Visual Studio 2015,Crash,C++ Cli,Crt,好的,我有一个C++/CLI应用程序,它在调试模式下工作得非常好,但是当我将构建更改为发行版时,程序甚至在到达main()函数之前就崩溃了 我正在使用Visual Studio Enterprise 2015 以下是错误的屏幕截图: 这是程序崩溃的函数: extern "C" _onexit_t __cdecl _onexit(_onexit_t const function) { _PVFV* const onexit_first = __crt_fast_decode_pointer(mo

好的,我有一个C++/CLI应用程序,它在调试模式下工作得非常好,但是当我将构建更改为发行版时,程序甚至在到达main()函数之前就崩溃了

我正在使用Visual Studio Enterprise 2015

以下是错误的屏幕截图:

这是程序崩溃的函数:

extern "C" _onexit_t __cdecl _onexit(_onexit_t const function)
{
_PVFV* const onexit_first = __crt_fast_decode_pointer(module_local_atexit_table._first);

if (onexit_first == reinterpret_cast<_PVFV*>(-1))
{
    return _crt_atexit(reinterpret_cast<_PVFV>(function)) == 0
        ? function
        : nullptr;
}
else
{
    // here it crashes
    return _register_onexit_function(&module_local_atexit_table, function) == 0
        ? function
        : nullptr;
}
}
extern“C”\u onexit\u t\u cdecl\u onexit(\u onexit\u t const函数)
{
_PVFV*const onexit\u first=\uuuuu crt\u fast\u decode\u指针(模块\u本地\u atexit\u表。\u first);
if(onexit_first==重新解释_cast(-1))
{
返回_crt_atexit(重新解释强制转换(函数))==0
?功能
:nullptr;
}
其他的
{
//在这里它崩溃了
返回_register_onexit_函数(&module_local_atexit_表,函数)=0
?功能
:nullptr;
}
}

我也有同样的问题。当我添加一个boost函数时,它在启动时失败,在我的任何代码被执行之前。它编译得很好

boost::archive::xml_oarchive * oa = new  boost::archive::xml_oarchive(*stream);

你的答案可能被否决,因为它似乎与OP的问题无关。读(写一个好的答案),然后确定你是否可以编辑你的答案来满足这些指导方针或者考虑删除你的答案。