C#互操作的类型基本位于System.Runtime.InteropServices命名空间下,本系列随笔主要记录本人在开发过程中使用的到一些类型函数、技巧及工具

计算类型的大小

int size = sizeof(GLYCOUNTER);//只能作用于unsafe代码上下文

获取类型实例的大小

Marshal.SizeOf(counters)

结构体与指针类型互相转换

 //指针->结构体
GLYCOUNTERS counters = (GLYCOUNTERS)Marshal.PtrToStructure(glyParam.lpBuffer, typeof(GLYCOUNTERS));
//结构体->指针
IntPtr p = Marshal.AllocHGlobal(Marshal.SizeOf(counters));
Marshal.StructureToPtr(counters,p, false);

C/C++ 数据结构转C#结构体工具


> 工具源码及下载地址:[http://clrinterop.codeplex.com/releases/view/17579](http://clrinterop.codeplex.com/releases/view/17579)

最新文章

  1. ABP Zero示例项目登录报错“Empty or invalid anti forgery header token.”问题解决
  2. java单例模式的几种写法比较
  3. Excel里生成GUID
  4. webpack +vue开发(1)
  5. [Tex学习]编号
  6. git --如何撤销已放入缓存区(Index区)的修改
  7. 用javascript实现用户登录验证
  8. APP store 审核注意点
  9. Ext.Net学习笔记21:Ext.Net FormPanel 字段验证(validation)
  10. 3G/4G网卡使用
  11. Java的native关键字---JAVA下调用其他语言的关键词
  12. 搭建hbase-0.94.26集群环境
  13. 数据结构算法应用C++语言描述——(1)C++基础知识
  14. Redis学习日记-01
  15. [HAOI2016] 放棋子及错排问题
  16. Vue打包报错Unexpected token: punc(()解决方案
  17. Ubuntu16.04安装串口调试工具gtkterm
  18. 30-socketserver类
  19. git合并多个提交
  20. Git将本地项目上传到GitHub

热门文章

  1. 修改Xcode工程名称
  2. mark DOwm
  3. python接口自动化读取json,yaml配置文件+封装requests+unittest+HTMLRunner实现全自动化
  4. PAT——1048. 数字加密
  5. 用PSCP在Windows和Linux之间相互传输文件
  6. Vue04——vue自定义事件、Router、Vue-cli、发布上线
  7. ORA-00600:internal error code,arguments:[keltnfy-idmlnit],[46],[1],[],[],[],[],[]
  8. HDFS的Write过程
  9. iOS 第三方库、插件、知名博客总结
  10. 浅谈JS异步轮询和单线程机制