gpt4 book ai didi

go - VPP插件可以用Go实现吗?

转载 作者:IT王子 更新时间:2023-10-29 02:35:33 25 4
gpt4 key购买 nike

VPP 提供了 I/S,用于开发可以挂接到节点图中的自定义插件。我只看过用 C 语言编写的此类插件的示例,并且想知道是否也可以使用其他语言(例如 Go)来编写此类插件。

最佳答案

我不知道“VPP”是什么,但答案是:“也许”;原因如下:

  • Go 代码能够通过其称为 cgo 的工具与 C 库交互.

    cgo 是一个多方面的东西:它允许你以某种方式“导出”某些 Go 函数,以便从 C 端调用它们,它允许你调用函数从C端。它还允许您编写一些内联 C 代码,以便在必要时为 C 端提供粘合。

  • 一段时间以来,Go 构建工具集(至少是它的“引用”实现)提供了将 Go 代码编译成具有 C 兼容 API 的静态或动态库的功能。

    参见 this .

考虑到这些因素,从理论上讲,应该可以实现您所追求的目标。注意一些可能的障碍:

  • 大多数时候,如果一个“平台”允许您用 C 语言编写一个“插件”,它就假定您的插件将广泛使用该平台自己的 API。

    这通常意味着您的插件应该包含平台提供的某些头文件。

  • 平台可能还需要您的插件链接到一些平台提供的库(通常是共享的)或多个库。

cgo 可以完成上述所有操作,但您需要仔细检查平台提供的 API,并可能编写 Go 帮助程序以使其在 Go 代码中的使用更加自然。

构建/链接问题(通常是头文件和库的位置)也可能是一个需要解决的问题。

关于go - VPP插件可以用Go实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55138943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com