加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从C#代码使用C库

发布时间:2020-12-15 04:05:22 所属栏目:百科 来源:网络整理
导读:我有一个C语言的图书馆.是否可以在C sharp中使用它. http://zbar.sourceforge.net/是我想要使用的图书馆的链接 解决方法 C编译的库可以使用 Platform Invoke从C#调用. 从MSDN开始,C函数调用的语法如下: [DllImport("Kernel32.dll",SetLastError=true)]stati
我有一个C语言的图书馆.是否可以在C sharp中使用它.

http://zbar.sourceforge.net/是我想要使用的图书馆的链接

解决方法

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
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读