首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

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

2012-02-19 
求C++.net 调用c++ dll求C++.net 调用c++ dll 有什么好的实现方法,或者一般的是如何实现的。c#有System::Ru

求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

热点排行