簡體   English   中英

在C#程序中使用C函數

[英]Using C functions in C# Program

我有幾個 C 函數,我想在我的 C# 應用程序中使用這些函數,而不必按原樣更改它們。 有沒有一種簡單的方法可以使用它們而不必將它們分成 DLL 或者這是唯一的前進道路? 我可以將直接路徑鏈接到這些文件所在的位置並在我的 C# 應用程序中使用它們嗎?

所以你的項目周圍有一堆 C 個文件。 它們包含您要從 C# 代碼調用的函數。 當然,這很公平,所以讓我們數一數實現這一目標的可能方法。

  1. 將這些函數重寫為 C#。如果這些函數未在其他地方使用(例如,在單獨的 C 項目中),這實際上可能是最明智的選擇,因為這樣您就不必使用兩種不同的語言維護代碼同一個項目。 C# 也比 C 有很多優勢,比如安全性和表現力,根據這些函數的作用,你甚至可能看不到明顯的性能差異。
  2. 將該代碼放在本機 DLL 中, 導出這些函數,然后使用 C# 中的 P/Invoke 來調用它們。 這是對原始代碼修改最少的部分。
  3. 編寫調用這些函數的 C++/CLI 包裝器,並從 C# 調用 C++/CLI 代碼。如果您想為 C# 代碼提供 OOP 樣式的接口,這將特別有用。
  4. 使用C 解釋器來執行那些 C 文件,就像它們是腳本一樣。 這可能會更慢、更脆弱、更難維護,並且可能會有其他限制,具體取決於您使用的解釋器以及您的 C 代碼的樣子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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