c++一个字符是一个字节,c#是用两个字节表示一个字符.我用c++写了一个dll,返回一个字符如下:
extern "C"
char _stdcall myDll()
{
char c = 'c';
return c;
}在C#中用
[DllImport ("myTest.dll"]
public static extern char myDll();
然后,
char myChar = myDll();方法虽说可以取得返回值,可是却占用两个字节.能否在c#只占用一个字节呢?急!!!!
extern "C"
char _stdcall myDll()
{
char c = 'c';
return c;
}在C#中用
[DllImport ("myTest.dll"]
public static extern char myDll();
然后,
char myChar = myDll();方法虽说可以取得返回值,可是却占用两个字节.能否在c#只占用一个字节呢?急!!!!
如果非要在C#中用char的话完全可以,一个字节扩充到两个字节不会有任何损失的
楼主的方法是正确的方法。
public static extern byte myDll();
public static extern byte myDll();这样做不行吗?