环境: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)]
本文介绍了一种常见情况,即在使用C#调用C++ DLL时,字符串参数仅传递一个字符的问题及其解决办法。通过调整DllImport属性的CharSet设置为Ansi,确保了字符串完整传递。
7092

被折叠的 条评论
为什么被折叠?



