C#调用C++动态库

      C#项目可执行程序无法直接调用C++的静态库,可创建C++动态库对静态库进行二次封装。C#可执行程序在调用C++动态库时需注意两点,第一点,C#无法直接使用C++动态库中的类;第二点,C#可执行程序调用C++动态库的函数需注意参数传递时设置字符串的封装方法“CharSet”,CharSet枚举类型有四个元素,分别为:None(此值已过时)、Ansi(为多字节字符字符串的封送字符串)、Unicode(封送为 Unicode 双字节字符的字符串)、Auto(自动封送目标操作系统为适当的字符串),此参数设置错误则会导致字符串传输错误。例:传递多字节字符串时,将此参数设置为:Unicode,将会导致实参是字符串,形参则编程了单个字符;

      C#和C++数据类型的对应关系参照:最详细的C++对应C#的数据类型转换 - Innershar - 博客园

你可能感兴趣的:(c#,c++)