![](/img/trans.png)
[英]Example on how to use Headers with Confluent Kafka C# library
[英]how to use C dll headers library in c#
我是C#的新手,我正在嘗試為我的項目使用幫助包。 該程序包用c編寫,具有1)/ bin /幾個.dll文件2)/ include /具有頭文件3)/ lib / msvc / .lib文件我的問題是我如何在C#WPF項目中使用這些文件? 我知道C#中沒有“ #include”,並且無法通過添加到項目的引用中來導入.dll。 那么我該如何在C#中做到這一點呢?
謝謝
您需要添加一系列C# 平台調用方法定義。 這告訴C#如何調用.dll,並直接使用C API。
頭文件和庫文件完全未使用。
僅添加答案,您可能想看看這篇博客文章。 它具有指向Visual Studio加載項的鏈接,該加載項可以從標頭生成P / Invoke簽名。
最好
您可能會發現托管C ++很有用。 您可以編寫一個托管的C ++庫,該庫直接使用頭文件和.lib,並將它們包裝在一起以供C#使用.NET類集。
有很多方法可以實現這種“互操作”-我曾經做過一個名為“頭部旋轉互操作”的演講。 關鍵是您本機DLL的結構。 既然您說它是用C語言編寫的,則很有可能與PInvoke一起使用,它與C函數或C ++中的C樣式函數一起使用時效果最佳。 其他答案都很好地指出了語法,並為在C#端聲明函數(及其參數)提供了一些幫助。
其他兩個主要選項是C ++ / CLI包裝器,當函數采用許多復雜類型或COM時,這是一個不錯的選擇,這幾乎肯定會要求您更改本機代碼,因此在這種情況下不太適合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.