无法使用/OPT:NOREF在.NET中加载C++DLL
Unable to load C++ DLL in .NET with /OPT:NOREF
我试图在VB.NET中调用C++本机的一些函数,但遇到了一个奇怪的问题。如果我在发布模式下编译C++DLL,它会工作,如果我在调试模式下编译它,它会抛出一个错误,比如:
无法加载DLL"DllName.DLL":参数不正确。(HRESULT异常:0x80070057(E_INVALIDARG))
一开始我认为调试dll中引用的MSVCR100D.dll可能有问题,但事实并非如此。
相反,我发现如果我使用选项/OPT:NOREF
编译C++DLL,它就不起作用;如果我改为使用/OPT:REF
编译它,它就可以工作了。
我现在有点迷路了,你知道这种情况下会有什么问题吗?
我认为你必须让dll在同一个模型中失败。
相关文章:
- std::原子加载和存储都需要吗
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 为什么加载SDF会导致Mobilizer创建闭环错误
- C++atioglxx.pdb未加载错误glBufferData OpenGL
- 如何使用tinyxml2从XML加载父实体和子实体
- 如何在C++中使用pybind11加载一个pickle python列表
- 系统.将数组移交给c#中动态加载的c++DLL时发生AccessViolationException
- 当我尝试加载内核模块时,如何修复C++中的这个 malloc() 错误?
- 树莓上的 Libtorch 无法加载 pt 文件,但在 ubuntu 上工作
- Python ctypes:不会按预期加载 dll
- 加载与引用 .NET DLL 位于同一文件夹中的引用的 .NET DLL 时"Not found"异常
- .NET核心应用程序无法加载C++DLL
- 如何将LLDB附加到C# .NET进程并调试动态加载的macOS捆绑包?
- .Net应用程序SideBySide加载失败COMException(0x80040154)
- 动态加载.NET DLL包装C++DLL
- 一个C++客户端无法使用我们新的 COM 注册的 .NET .dll加载,另一个客户端可以正常工作
- 无法使用/OPT:NOREF在.NET中加载C++DLL
- 在c++ Builder应用程序中动态加载c# . net程序集
- c++如何加载.net运行时,从而承载WPF组件