您的位置:首页 > 编程语言 > C语言/C++

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: