【发布时间】:2014-02-04 15:49:35
【问题描述】:
我有一段代码,我想知道它是否正确:
你好.cpp
static const char _someGlovalVar[] = "my persistant gloval variable";
const char* DLLInterfaceGetName()
{
return _someGlovalVar;
}
你好.h
DLL_EXPORT const char* DLLInterfaceGetName();
你好.cs
[DllImport("hello.dll", EntryPoint = "DLLInterfaceGetName", CharSet = CharSet.Ansi)]
public static extern string DLLInterfaceGetName();
这对吗?
【问题讨论】:
-
DllImport and char* 的可能重复项
-
看起来是正确的,但
id参数应该添加到您的 C++DLLInterfaceGetName声明和定义中,或者从您的 C# 声明中删除。 -
我不认为它与stackoverflow.com/questions/2568436/dllimport-and-char 重复。在此链接上还有另一种解决方案。我现在想知道这个解决方案是否正确以及为什么。
标签: c# c++ static global-variables marshalling