我有一个C语言的库。可以在 C Sharp 中使用吗?
http://zbar.sourceforge.net/是我想使用的库的链接
Platform Invoke 从 C# 调用为 Windows 编译的 C 库。
来自MSDN,进行C函数调用的语法如下:
[DllImport("Kernel32.dll", SetLastError=true)]
static extern Boolean Beep(UInt32 frequency, UInt32 duration);
上面调用了Kernel32.dll中的Beep函数,传入参数频率和持续时间。更复杂的调用可以传递结构体和指向数组的指针、返回值等......
您需要确保 C 库可用的 C 函数被“正确导出”,例如Beep 函数可能是这样声明的:
#define DllExport __declspec( dllexport )
DllExport bool Beep(unsigned int frequency, unsigned int duration)
{
// C Body of Beep function
}