C# 使用c++;C中的dll类型DIF# 我有C++ DLL项目,在这里,我有一个TyPuff声明,比如这个 typedef void* ScreenNode; internal unsafe partial class BBIA { [DllImport(dllName)] public static extern int CB_initNode(ScreenNode g_screen_node, int width, int heigth,EN_DevType EN_C1Dev); }
在我的头文件中,我使用这个减速C# 使用c++;C中的dll类型DIF# 我有C++ DLL项目,在这里,我有一个TyPuff声明,比如这个 typedef void* ScreenNode; internal unsafe partial class BBIA { [DllImport(dllName)] public static extern int CB_initNode(ScreenNode g_screen_node, int width, int heigth,EN_DevType EN_C1Dev); },c#,c++,dll,typedef,C#,C++,Dll,Typedef,在我的头文件中,我使用这个减速 extern "C" __declspec(dllexport) int CB_AddProgramColor (ScreenNode g_screen_node,ProgramNode program_node,int color, int alpha); 现在,我想在C#中对这样的类使用这个函数 typedef void* ScreenNode; internal unsafe partial class BBIA { [DllImport(dllName
extern "C" __declspec(dllexport) int CB_AddProgramColor (ScreenNode g_screen_node,ProgramNode program_node,int color, int alpha);
现在,我想在C#中对这样的类使用这个函数
typedef void* ScreenNode;
internal unsafe partial class BBIA
{
[DllImport(dllName)]
public static extern
int CB_initNode(ScreenNode g_screen_node, int width, int heigth,EN_DevType EN_C1Dev);
}
但是,我在屏幕节点g_屏幕节点上记录了这个细节
“错误1找不到类型或命名空间名称‘ScreenNode’(是否缺少using指令或程序集引用?”
我有两个问题:
typedef
,因此您必须在所有使用它的地方指定类型(而不是别名)。对于C++<代码> Value*/COD>可以使用<代码>虚空> />代码>或<代码> ItPtR> /c> > C >。/P> C++中最接近TyEvf的是别名“使用”,用于类型:例如,使用“Foo= Stase.DATETIME”;这将允许您在该文件中指定“FoO”而不是“DATETIME”(但对您的示例没有帮助)。和C++中的“TyPuff”一样,这并不总是增强代码的清晰性。请参阅上面的注释,C语言确实有一个别名“使用”语法,它允许您使用一个不同的名称来进行类型,但是它不会允许这个带有空隙*。