调用C或C++的DLL出现“方法的类型签名与 Interop 不兼容”
来源:互联网 发布:熟丝桃子圈微博全数据 编辑:程序博客网 时间:2024/05/22 02:01
int _stdcall Read(char CodeNum,char* Res,int* Status,int WaitTime=500);
我写的C#调用方法是这样的:
[DllImport("PCBDll.dll")]public static extern int Read(int CodeNum, ref byte[] Res, ref int[] Status,int WaitTime);
经过查阅C++相关资料,得出正确的写法应该是这样的:
[DllImport("PCBDll.dll")]public static extern int Read(int CodeNum, byte[] Res, int[] Status,int WaitTime);
原因:Res本身传的就是地址,所以不用再加ref了。去掉ref后一切运行正常。看来我的想法应该是正确的。
- 调用C或C++的DLL出现“方法的类型签名与 Interop 不兼容”
- C#调用c代码生成的dll,报PInvoke 签名与非托管的目标签名不匹配
- C#【异常处理】调用dll。GetProcAddress 托管的 PInvoke 签名与非托管的目标签名不匹配?
- C#调用C DLL:调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配
- C#调用C++dll方法,char*类型之间的传递
- QT调用Interop.LabelManager2.dll(C#dll)的问题处理
- C#调用C++dll的类型转换
- C#调用C++DLL的类型对应
- C#调用C的Dll(类型对照)
- BCB(C++Builder或Embarcadero XE)中调用托管DLL的方法(C++调用C#的DLL)
- vb下调用C++dll的方法
- C#调用C++DLL的方法
- C#动态调用c++DLL的方法
- c#dll调用的一些方法
- C#动态调用c++DLL的方法
- C#Dll的生成与调用
- C/C++ DLL的生成与调用
- jni c调用java的方法签名生成方法
- JAVA数据类型间的相互转换
- linux显示shm segment信息一例
- flv文件修复工具——FLVMDI的使用方法
- httpd配置:实例及说明
- linux设备驱动程序学习(9) 与硬件通信
- 调用C或C++的DLL出现“方法的类型签名与 Interop 不兼容”
- 如何彻底卸载vc6.0
- SQL 创建登陆名,用户,角色
- STM8 I/O口模拟I2C
- 如何判断DataGridView中为空的单元
- 如何使用yum工具从iso镜像文件上安装
- think in java 笔记二 第五章
- 函数指针
- 判断数据网络是否可用