簡體   English   中英

如何在C#中使用C dll標頭庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM