vc(vs)中c++调用C#的DLL
2012-11-15 22:00
387 查看
还是google搜索性能好,直接搜到要点
1. 设置
http://wenku.baidu.com/view/a2b92edb50e2524de5187eac.html
2. 对于String类型参数的传人转换
//将非托管的ANSI字符串转换成托管字符串
String^ UnmanagedStringA2ManagedString(char *pIn)
{
String^ strOut = Marshal::PtrToStringAnsi(static_cast<IntPtr>(pIn));
return strOut;
}
//将托管字符串转换成非托管的ANSI字符串
char* ManagedString2UnmanagedStringA(String^ strIn)
{
IntPtr ip = Marshal::StringToHGlobalAnsi(strIn);
const char* pTemp = static_cast<const char*>(ip.ToPointer());
char *pOut = new char[strlen(pTemp)+1];
strcpy(pOut, pTemp);
Marshal::FreeHGlobal( ip );
return pOut;
}
/article/11148509.html
1. 设置
http://wenku.baidu.com/view/a2b92edb50e2524de5187eac.html
2. 对于String类型参数的传人转换
//将非托管的ANSI字符串转换成托管字符串
String^ UnmanagedStringA2ManagedString(char *pIn)
{
String^ strOut = Marshal::PtrToStringAnsi(static_cast<IntPtr>(pIn));
return strOut;
}
//将托管字符串转换成非托管的ANSI字符串
char* ManagedString2UnmanagedStringA(String^ strIn)
{
IntPtr ip = Marshal::StringToHGlobalAnsi(strIn);
const char* pTemp = static_cast<const char*>(ip.ToPointer());
char *pOut = new char[strlen(pTemp)+1];
strcpy(pOut, pTemp);
Marshal::FreeHGlobal( ip );
return pOut;
}
/article/11148509.html
相关文章推荐
- 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
- 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
- C#调用C++编写的dll在IIS中报错,vs里面没有问题
- vs2012 C#调用c++ dll 调试跟踪到代码内
- 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
- 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
- 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
- C/C++/C#问题记录(一)VS2012编译调用dll项目找不到lib的workaround
- 编写C#调用的C++DLL
- C++调用C#生成的dll
- C#调用VC的DLL的接口函数参数类型转换一览表
- VS2013 c++ 生成和调用DLL动态链接库
- 一步一步教你用VC和VB调用C++ DLL
- VC调用C#的COM组件(DLL)
- C#调用C++DLL
- c#中使用相对路径调用c++的dll
- C#调用C++ 动态链接库dll
- C#调用C++的DLL 所有数据类型转换方式
- C# 调用C++ DLL 的类型转换
- C#调用VC的DLL的接口函数参数类型转换一览表