首页 > 后端开发 > Golang > 正文

如何在没有 C /C 包装器的情况下从 Go 调用 C# DLL 函数?

Mary-Kate Olsen
发布: 2024-11-22 00:06:16
原创
1000 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板