利用.net技术解决C++导出函数char*转C#string
2013-04-03 08:56
357 查看
C++导出函数定义:
C#使用
这里有个问题,就是关于释放,就是注释掉的部分。
LONG Test::Test(String ^c1,String ^c2,String ^c3) { using namespace Runtime::InteropServices; char* chars = (char*)(Marshal::StringToHGlobalAnsi(c1)).ToPointer(); char* chars1 = (char*)(Marshal::StringToHGlobalAnsi(c2)).ToPointer(); char* chars2 = (char*)(Marshal::StringToHGlobalAnsi(c3)).ToPointer(); return ::Init(chars, wDVRPort,chars1, chars2); //Marshal::FreeHGlobal(IntPtr((void*)chars)); //Marshal::FreeHGlobal(IntPtr((void*)chars1)); //Marshal::FreeHGlobal(IntPtr((void*)chars2)); }
C#使用
Test tc=new Test(); tc.Test("aaa","bbbbbb","ccccccc");
这里有个问题,就是关于释放,就是注释掉的部分。
相关文章推荐
- C#中利用双缓冲技术解决绘图闪屏问题。
- C#双缓存技术解决绘图时闪屏问题
- 利用.NET绘图技术制作水晶按钮控件
- .NET的那些事儿(10)——利用C#.NET进行串口编程
- 利用缓存技术解决访问统计数据库压力
- 【C#】利用委托解决跨线程操作控件产生的问题
- C#中“.NET技术”字符串的内存分配与驻留池
- C# 外界调用方法是 方法名是string类型的解决方法
- .NET字符串操作类StringHelper (C#版)
- C#利用com操作excel释放进程的解决方法
- C#中的String.Empty,NULL和""的区别 2010-07-09 17:52:45| 分类: .net | 标签: |字号大中小 订阅 .
- 一起谈.NET技术,ASP.NET MVC中对Model进行分步验证的解决方法
- 一起谈.NET技术,用c#实现Protocol Buffers的变长字节整形编码
- 一起谈.NET技术,C#权限管理和设计浅谈
- C#、.Net代码精简优化(空操作符(??)、as、string.IsNullOrEmpty() 、 string.IsNullOrWhiteSpace()、string.Equals()、System.IO.Path 的用法)
- 一起谈.NET技术,C#中的lock关键字
- 一起谈.NET技术,关于C# 中的Attribute 特性
- 【.Net码农】C# List<string>与String字符串相互转换
- 一起谈.NET技术,浅谈提升C#正则表达式效率
- 一起谈.NET技术,C#之int挑战Java之Integer