使用来自C#代码的C库

问题描述:

我有一个C语言库。是否有可能在C sharp中使用它。使用来自C#代码的C库

http://zbar.sourceforge.net/是我想使用编译为Windows

+1

绝对与WPF无关。我重申它。 – 2012-02-01 09:35:18

C函数库库的链接可以从C#中使用Platform Invoke调用。

MSDN,使得C函数调用的语法如下:上述

[DllImport("Kernel32.dll", SetLastError=true)] 
static extern Boolean Beep(UInt32 frequency, UInt32 duration); 

调用Kernel32.dll中的功能蜂鸣,传递的参数的频率和持续时间。更复杂的调用可能会传入结构和指向数组的指针,返回值等等。

您需要确保C库可用的C函数为exported appropriately,例如,哔声功能可能是这样声明的:

#define DllExport __declspec(dllexport) 
DllExport bool Beep(unsigned int frequency, unsigned int duration) 
{ 
    // C Body of Beep function 
}