VPP 提供 I/S 用于開發(fā)可以掛接到節(jié)點圖中的自定義插件。我只看過用 C 語言編寫的此類插件的示例,并且想知道是否也可以使用其他語言(例如 Go)來編寫此類插件。
1 回答

慕娘9325324
TA貢獻1783條經(jīng)驗 獲得超4個贊
我不知道“VPP”是什么,但答案是:“也許”;原因如下:
Go 代碼能夠通過其稱為
cgo
.cgo
是一個多方面的東西:它允許你以某種方式“導(dǎo)出”某些 Go 函數(shù),以便它們可以從 C 端調(diào)用,它允許你從 C 端調(diào)用函數(shù)。它還允許您編寫一些內(nèi)聯(lián) C 代碼,以便在必要時為 C 端提供粘合。一段時間以來,Go 構(gòu)建工具集(至少是它的“參考”實現(xiàn))提供了將 Go 代碼編譯成具有 C 兼容 API 的靜態(tài)或動態(tài)庫的功能。
考慮到這些事情,理論上,應(yīng)該可以做你想做的事。注意一些可能的障礙:
大多數(shù)時候,如果一個“平臺”允許你用 C 編寫一個“插件”,它就預(yù)先假定你的插件將廣泛使用該平臺自己的 API。
這通常意味著您的插件應(yīng)該包含平臺提供的某些頭文件。
該平臺可能還需要您的插件鏈接到一些平臺提供的庫(通常是共享的)或庫。
cgo
可以完成上述所有操作,但您需要仔細檢查平臺提供的 API,并可能編寫 Go 幫助程序以使其在 Go 代碼中的使用更加自然。
構(gòu)建/鏈接問題(通常是頭文件和庫的位置)也可能是需要解決的問題。
- 1 回答
- 0 關(guān)注
- 334 瀏覽
添加回答
舉報
0/150
提交
取消