【发布时间】:2012-02-01 09:14:32
【问题描述】:
我有一个 C 语言库。是否可以在升 C 中使用它。
http://zbar.sourceforge.net/是我要使用的库的链接
【问题讨论】:
-
绝对与 WPF 无关。我重新标记它。
我有一个 C 语言库。是否可以在升 C 中使用它。
http://zbar.sourceforge.net/是我要使用的库的链接
【问题讨论】:
为 Windows 编译的 C 库可以使用 Platform Invoke 从 C# 调用。
来自MSDN的C函数调用语法如下:
[DllImport("Kernel32.dll", SetLastError=true)]
static extern Boolean Beep(UInt32 frequency, UInt32 duration);
上面调用Kernel32.dll中的Beep函数,传入参数频率和持续时间。更复杂的调用可能会传入结构和指向数组的指针、返回值等......
您需要确保 C 库可用的 C 函数是 exported appropriately,例如Beep 函数可能是这样声明的:
#define DllExport __declspec( dllexport )
DllExport bool Beep(unsigned int frequency, unsigned int duration)
{
// C Body of Beep function
}
【讨论】: