1、新建一个C#-Windows-类库(用于创建C#类库(.dll)的项目)类型的工程

2、对于普通C++函数

XXXX_API void cppFun(int i);

在cs代码中添加

[DllImport("c++xxxx.dll")]

public static extern void cppFun(int i);

3、对于C++中的结构体,因为C++中结构体默认访问控制为public,而C#中结构体默认为private,所以要显示指定一下

typedef struct {
     char sDVRIP[16]; /* DVR IP地址 */
     char sDVRIPMask[16]; /* DVR IP地址掩码 */
     DWORD dwNetInterface; /* 10M/100M自适应,索引 */
     WORD wDVRPort; /* 端口号 */
     BYTE byMACAddr[MACADDR_LEN]; /* 服务器的物理地址 */
 }NET_POSA_ETHERNET;

C#对应

public struct NET_POSA_ETHERNET
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sDVRIP; //DVR IP地址
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sDVRIPMask; // DVR IP地址掩码
public uint dwNetInterface; //网络接口 1-10MBase-T 2-10MBase-T全双工 3-100MBase-TX 4-100M全双工 5-10M/100M自适应
public uint wDVRPort; //端口号
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
public byte[] byMACAddr; //[MACADDR_LEN]; //PPPoE用户名//服务器的物理地址
}

最新文章

  1. win10使用技巧之如何打出偏僻字母
  2. 【OPENGL】第三篇 着色器基础(一)
  3. windows 10启动盘制作工具
  4. 22.python笔记之web框架
  5. [kuangbin带你飞]专题六 最小生成树
  6. java 如何从配置文件(.properties)中读取内容
  7. VMware vSphere服务器虚拟化实验十五 vCenter vShield Manager
  8. ibatis参数传递小技巧 - 疯狂的菠菜 - ITeye技术网站
  9. [leetcode-572-Subtree of Another Tree]
  10. ssi服务器端指令详解(shtml)
  11. webmagic 基本的方法
  12. 一篇关于Asp.Net Model验证响应消息的问题处理
  13. Catalog
  14. 11个炫酷的Linux终端命令大全
  15. 第四篇 - 爬取前程无忧python相关工作
  16. Node.js是用来干嘛的
  17. minicom的安装及配置
  18. Redis学习系列三List列表
  19. How to Pronounce ‘to the’ in a Sentence
  20. 再学Java 之 形参个数可变函数

热门文章

  1. 【转】GATK使用方法详解(包含bwa使用)
  2. POJ 1845 Sumdiv
  3. Keepalived高可用集群介绍
  4. BZOJ1452——[JSOI2009]Count
  5. [BZOJ1901]Zju2112 Dynamic Rankings
  6. style="visibility: hidden" 和 style=“display:none”区别
  7. 加载状态为complete时移除loading效果
  8. BZOJ 2342: [Shoi2011]双倍回文
  9. Fibonacci 2
  10. IN和EXISTS的详解