首頁 > 後端開發 > Golang > 主體

如何在沒有 C /C 包裝器的情況下從 Go 呼叫 C# DLL 函數?

Mary-Kate Olsen
發布: 2024-11-22 00:06:16
原創
988 人瀏覽過

How Can I Call C# DLL Functions from Go Without a C  /C Wrapper?

在沒有C /C 包裝器的情況下從Go 語言調用C# DLL 函數

在本文中,我們將探索從Go程式中的C# DLL(類別庫類型),無需C /C (Win32)包裝器。

直接呼叫選項:

有兩個主要選項可用於從 Go 直接呼叫 C# DLL 函數:

1 。 COM 互通性(僅限 Windows):

  • 將 .NET DLL 轉換為 COM 元件。
  • 利用 Go for Windows 中提供的 COM 互通功能,詳細資訊請參閱原始問題中提供的連結。

2。使用 C# 控制台應用程式包裝:

  • 建立包裝 DLL 的簡單 C# 控制台應用程式。
  • 使用 os/exec 套件從 Golang 呼叫控制台應用程式。

優點和缺點:

COM互通性:

  • 優點:

    • 原生COM 支援去吧。
  • 缺點:

    • 僅限於 Windows 作業系統。

C# 主機應用程式包裝器:

  • 優點:

    • 優點:
    優點:
  • 優點:

    • 平台無關(如果C# DLL是跨平台的)。
  • 更容易實現,因為它只需要基本的 C#

缺點:

單獨的額外開銷結論:根據應用程式的具體要求,這兩個選項都提供了直接調用C# DLL 函數的方法來自沒有 C /C 包裝器的 Go。應根據平台相容性、效能問題以及您自己對 C# 的熟練程度等因素做出選擇。

以上是如何在沒有 C /C 包裝器的情況下從 Go 呼叫 C# DLL 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板