开发学院软件开发C++ C++/CLI程序启动时_CrtIsValidHeapPointer(pUserD... 阅读

C++/CLI程序启动时_CrtIsValidHeapPointer(pUserData)错误

 2010-12-04 07:17:30 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愭娑樷枎閹邦剛娉氶梺鍛婎殔濞层劌鈻撻幋婵愬殫妞ゆ梻鍘х憴锟�
核心提示:当C++/CLI程序引用了native lib顺利编译之后,程序启动有可能出现以下错误: 这是ms的一个已知bug,C++/CLI程序启动时_CrtIsValidHeapPointer(pUserData)错误,原因:The reason why you get this error is that a winform

当C++/CLI程序引用了native lib顺利编译之后,程序启动有可能出现以下错误:

 

这是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 ^ >^)".

Tags:CLI 程序 启动

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接