C#调用C++写的DLL时,在C#程序中,使用DllImport定义C++导出函数的定义信息,之前在C++中定义导出函数时,使用了long作为参数类型,使用C#调用时,开始在64位版本是哪个测试,一切正常,可使用32位环境调试时,怎么都不对,不论怎么调整DllImport的属性设置都不正确,上网查也没查到什么有效的信息,正当想放弃是,在调试中发现本来是第二个参数的值,在第三个参数中出现,第二个参数和第三个参数都是字符串指针,突然想起long在C++程序中32位环境是32位长,64位环境是64位长,而C#的long长度固定为64位长,这正好导致在32位环境下,C#的64位long的传递到C++中,只取了32位,后32位当成了第二个参数的指针,导致参数传递不正确了,将long改成short,一切正确了。

特意记录一下,避免以后遇到同样的问题。

最新文章

  1. SSDB安装配置记录
  2. IP地址,子网掩码,默认网关,DNS服务器详解
  3. MySQL查询语句完整语法解析
  4. 关于ArcGIS10.0中的栅格计算中的函数
  5. hdu Collect More Jewels
  6. cwRsync 配置文件详解
  7. mysql启动问题access denied for user 'root'@'localhost'(using password:YES)
  8. Java反射基本玩法
  9. Boost.Foreach
  10. nexus建立maven仓库私服及Snapshots、release的版本管理
  11. Linux下UDP收/发广播消息简单实现
  12. Android Animation学习 实现 IOS 滤镜退出动画
  13. zabbix 模版其实就是主机
  14. MySQL 高效查询
  15. springMVC引入Validation详解
  16. [NOIP2016]愤怒的小鸟 D2 T3
  17. Centos 7 docker 启动容器 iptables 报 No chain/target/match by that name
  18. 8. svg学习笔记-文本
  19. 网络编程基础【day10】:我是一个线程(四)
  20. 由设置body线性背景色引发的问题-----当声明文档类型时,对body设置线性背景色,页面背景色无法整体线性过渡

热门文章

  1. git学习--更新本地仓库单独文件
  2. windows_study_2
  3. SharePoint 2013 设置 显示详细错误信息 修改位置总结
  4. P2903 [USACO08MAR]麻烦的干草打包机The Loathesome Hay Baler
  5. input只能输入非负数
  6. Go语言学习包(1)之bufio包
  7. web服务器Nginx环境下如何实现安全证书https的配置
  8. idea(1)-idea初装
  9. 安装pyautogui时报错备注
  10. Webstrom 中写Vue没有代码提示如何解决?