当前位置: 代码迷 >> VC >> 求C++.net 调用c++ dll解决思路
  详细解决方案

求C++.net 调用c++ dll解决思路

热度:376   发布时间:2013-02-25 00:00:00.0
求C++.net 调用c++ dll
求C++.net 调用c++ dll 有什么好的实现方法,或者一般的是如何实现的。
c#有System::Runtime::InteropServices::DllImport但是c++只有System::Runtime::InteropServices::DllImportAttribute
他们用法一样吗?

我要调用的1.dll文件是把另外一2.dll文件的再封装。这样可以吗?
用C#的System::Runtime::InteropServices::DllImport去掉用1.dll文件,1.dll文件在调用2.dll文件是会报内存读写错误!?
调试错误如下:
未处理的"system.accessViolationException"类型的异常出现
其他信息:Attempted to read or write protected memory.This is ofter an indication that other memory is corrupt.

我是c++新手,问题比较多!--! 先谢过.

------解决方案--------------------------------------------------------
直接包含头文件就能调用了。
何必要通过PInvoke呢?
------解决方案--------------------------------------------------------
动态调用
typedef UINT (CALLBACK* LPFNDLLFUNC1)(char *,char *);
HINSTANCE hDLL1; // Handle to DLL 
LPFNDLLFUNC1 lpfnDllFunc1; // Function pointer
hDLL1 = LoadLibrary("c:\\seijin\\CHECKIMAGEDLL.dll")
lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress(hDLL1,"aaa"); //aaa是dll里的函数名

//调用aaa函数
lpfnDllFunc1(char1,char2);
FreeLibrary(hDLL1);

------解决方案--------------------------------------------------------
探讨
可否说个详细的过程!?

------解决方案--------------------------------------------------------
up
  相关解决方案