环境:VS2010,应用程序用C#编写,DLL用C++编写
问题:C#调用dll,传的字符串参数到C++里面调试发现只传了一个字符
原因:
原来调用dll的写法是下面这样的
[DllImport("EcComm.dll", EntryPoint = "EC_OpenPort", CharSet = CharSet.Auto)]
实际上应该写成
[DllImport("EcComm.dll", EntryPoint = "EC_OpenPort", CharSet = CharSet.Ansi)]