|
|

楼主 |
发表于 2025-12-15 01:11:31
|
显示全部楼层
安徽省蚌埠市
C# 调用有中文的情况 请用指针
[DllImport("Chengine2.0.dll", CallingConvention = CallingConvention.StdCall)]//, CharSet = CharSet.Ansi就算使用这种utf8 一样会乱码
private static extern IntPtr SetJS(IntPtr jsCode, IntPtr fcn, IntPtr[] args, int lens);
用常规调用方式还是会乱码 上面中文会乱码 好像底层原因 C#字符串utf16转换到c++接口会被 const char* 截断掉\0的问题
[DllImport("Chengine2.0.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
private static extern string SetJS(string jscode, string fun, string[] val, int len);
|
|