zoukankan      html  css  js  c++  java
  • C++/CLI程序启动时_CrtIsValidHeapPointer(pUserData)错误

     奇怪的错误,坑死个人啊!!当C++/CLI程序引用了native lib顺利编译之后,程序启动有可能出现以下错误(_CrtIsValidHeapPointer(pUserData)):

     

    这是ms的一个已知bug,原因:

    The reason why you get this error is that a winforms application has a managed entry point. The initialization of the native global objects is done by the CRT (C RunTime) startup routine. Since in this case there is no CRT startup routine the MyBoard global object fails to initialize correctly.

    IDE is specific the entry of ManagedApp as "main". However, using "main" will bypass a lot of CRT's startup initialization.

    解决方法:

    右键点击项目--->properties--->link--->advanced

    把Entry Point从main改为 "?mainCRTStartupStrArray@@$$FYMHP$01AP$AAVString@System@@@Z"

     原理:

    That should re-enable the CRT startup code which initializes the internal CRT variables.That symbol is really the mangled name for "int __clrcall mainCRTStartupStrArray(cli::array<class System::String ^ >^)".

  • 相关阅读:
    cppPrimer学习18th
    cppPrimer学习17th
    cppPrimer学习15th
    常用网站记录
    cppPrimer学习16th
    关于nfs内网穿透frp/nps的问题记录
    unp[unix 网络环境编程]学习 vscode环境搭建
    cppPrimer学习14th
    cppPrimer学习14th
    cppPrimer学习13th
  • 原文地址:https://www.cnblogs.com/honker/p/3774418.html
Copyright © 2011-2022 走看看