C++ api转为C#函数
short WINAPI Open(OUT HANDLE &hCom, IN char *com_port);这个函数转换为C#可以调用的函数的正确写法是什么?
--------------------编程问答--------------------
[DllImport(@"ccc.dll", EntryPoint = "single_putin", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]--------------------编程问答-------------------- [DllImport("xxxxxx.dll", CharSet = CharSet.Ansi)]
public extern static void single_putin();
晕 那你就改你的dll 把你要输出的以返回值的形式返回,在C#中得到值赋给你的字符串
C++类似下面的代码 返回char *
#define LIBEXPORT_API extern "C" __declspec(dllexport)
char szBuffer[1024];
LIBEXPORT_API const char* WinLock()
{
CSystemInfo sys;
CString strTemp;
sys.GetLogonUser(strTemp);
sprintf(szBuffer,"%s",strTemp);
return szBuffer;
}
C#调用
[DllImport(@"*.dll", EntryPoint = "WinLock", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
public extern static string WinLock();
public static extern short Open(out IntPtr hCom, [MarshalAs(UnmanagedType.LPStr)] string com_port);
--------------------编程问答-------------------- 能不能写个简单的教程!再详细点。谢谢。 --------------------编程问答-------------------- 输出的参数需要加上 ref --------------------编程问答--------------------
很好很强大
补充:.NET技术 , C#