我想使用 char* 作为返回值(就像在 Unity 的示例插件中所做的那样),但是我得到了一些无效的标记(效汬o)而不是简单的“Hello”。有什么想法可能是错的吗?
动态链接库:
extern "C"
{
const __declspec(dllexport) char* PrintHello()
{
return "Hello";
}
}
统一:
public class audiotest : MonoBehaviour
{
[DllImport("ASimplePlugin")]
private static extern IntPtr PrintHello();
void Start ()
{
Debug.Log(Marshal.PtrToStringAuto(PrintHello()));
}
}
Unity 的示例插件可以在http://docs.unity3d.com/Documentation/Images/manual/SimplestPluginExample-4.0.zip找到
我正在使用 Unity 4.2.1f4 和 Visual Studio 2010