使用外部dll

一、用dependency walker看dll里的函数及参数

C++是可以看到参数的。C是看不见的(即加了extern "C")。

使用外部dll_第1张图片 

二、调用

 用C#调用,提示下面为什么呢?用MFC调用是正常的。

System.AccessViolationException:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。” 

使用外部dll_第2张图片

用MFC再封装一次。可以调用的。但是使用引用的变量时,会时不时出现上面的提示。

可能是指针超出了访问空间。

使用外部dll_第3张图片

这在console里,应该不是跨线程的问题。

 

dll存在还报找不到dll,可能的原因:dll里还依赖别的dll 加进来就行。

 

你可能感兴趣的:(c#,c++,开发语言)