vb.net – VS 2008中的“多线程调试DLL”运行时库选项究竟是什么?

前端之家收集整理的这篇文章主要介绍了vb.net – VS 2008中的“多线程调试DLL”运行时库选项究竟是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
VS 2008中有一个解决方案来创建一个DLL.然后我在另一个应用程序中使用该DLL.如果我进入DLL项目属性页面,并更改以下DEBUG构建的配置,那么内置的dll不会提供所需的功能.如果我更改它并重建DLL,那么DLL确实提供了正确的功能

属性页=>配置属性=> C/C++ =>代码生成=>运行时库

如果设置为“多线程调试DLL(/ MDd)”
那么一切都应该是正常的.我从DLL获取正确的功能

如果设置为“多线程DLL(/ MD)”,则DLL不能正常运行…没有运行时错误或任何东西,它不起作用(DLL应该在地图上绘制一些线,但不会在这种模式下).

所以问题是,为什么使用/ MDd标志会导致基础代码的修正功能,而/ MD会导致不正确的功能

有一点背景…有人在C中开发了DLL,我在VB.net应用程序中使用这个DLL.

所有DLL /调试代码生成必须匹配使用它们的所有内容.可能有另一个引用的库或对象或DLL或者使用错误选项构建的一些代码;或覆盖全局项目选项的单个元素的特定选项.

找出它的唯一方法是仔细检查每个文件的所有选项,检查包含和引用的库(.lib和.dll)和对象文件.检查链接器选项.

它不起作用的原因可能是因为调试版本在内存周围添加了额外的保护块以允许检测到错误.

猜你在找的VB相关文章