C++andc#
ezreal_pan
这个作者很懒,什么都没留下…
展开
-
C#调用C++DLL二级指针处理方式
我的项目中实际遇到的是char**的二级指针,C#怎么调用呢?首先,在C++中char*和c#中的string类型是等价的。char**二级指针,就是个二位数组,等价于C#string类型的一维数组。经过一番思考,我用IntPtr接收C++的char**。问题是,用IntPtr接收char**怎么从内存中获取string数组呢?看了Marshal这个类中,有个PtrToStructure这个方法,...原创 2019-01-08 19:12:25 · 2891 阅读 · 4 评论 -
Invoke类型的已垃圾回收委托进行了回调
C#调用C++的函数出现了这个异常,记录之。 public delegate void VOIPREGSTATEPROC(IntPtr hReg, VOIPREG_STATE state, IntPtr msg); public delegate void VOIPCALLSTATEPROC(IntPtr hCall, VOIPCALL_STATE state, IntPtr msg...原创 2019-01-21 14:31:26 · 3429 阅读 · 0 评论 -
c++生成的动态库移到其他电脑上,动态库不能运行
最近的一个项目中遇到了一个问题,C++的一个动态库在我自己的电脑上可以被C#程序引用,我把程序安装到其他电脑上出现了异常,提示找不到DLL,偶然间发现我安装vsc++,C#的程序就不会报错。因为这个C++的动态库是我根据c++的静态库自己封装的。在查阅了资料之后,我尝试着改变代码生成的方式,居然成功了。记录一下我的解决方案。 修改运行库的模式为 MT模式,即可解决问题。 各个设置选项代表的...原创 2019-04-11 10:53:27 · 2140 阅读 · 0 评论