8
Q
Go動態FFI
A
回答
6
簡答:沒有。 (至少不與GC,gccgo是gcc聯然而,所以它可能是可能的)
中回答:但是,您可以靜態綁定,也就是說,libffi或libdl然後用它動態加載其他庫。
長答案:您可以使用go工具鏈C編譯器和彙編器(例如,參見src/pkg/runtime)在C和ASM中編寫go軟件包。所以你可以在C或ASM中編寫一個FFI作爲一個包。
編輯:從以下(也CW現在)的評論
另外,也可以使用syscall
和unsafe
包(很容易在窗口中完成,但我想這將是在linux更難,並非遙不可及上面的第三個解決方案)。
相關問題
- 1. Go動態刪除HTML onClick
- 2. Go界面:靜態與動態綁定
- 3. 在Rust中混合使用靜態和動態庫FFI
- 4. 手動安裝ffi gem
- 5. Go前端與HTML和Go的互動
- 6. 在Go中存儲狀態
- 7. GO:服務靜態頁面
- 8. 多態性GO接口
- 9. SSL BIO和FFI
- 10. Haskell doctest和FFI
- 11. GraphicsMagick FFI問題
- 12. 如何PureScript FFI
- 13. node-ffi模塊無法加載32位C DLL - 動態鏈接錯誤
- 14. 陰謀FFI依賴
- 15. MinGW上的Ruby FFI
- 16. 開局方案FFI
- 17. FFI 1.0.11不Cygwin的
- 18. Ruby擴展由FFI
- 19. Ruby ffi gem問題
- 20. 來自MacRuby的FFI?
- 21. 綁定FFI和DSL
- 22. LuaJIT FFI有多難?
- 23. FFI和頭文件
- 24. 傳遞記錄FFI
- 25. Haskell FFI - mallocForeignPtr用法
- 26. 如何從Go動態創建JSON結構?
- 27. 您可以在GO中動態生成XML嗎?
- 28. 測試處理器依靠Go中的動態URL的功能
- 29. Go或Beego支持動態網址路由,如id =?
- 30. Go和JSON:如何動態加載字段
我喜歡中等答案,也許我會嘗試。至於長時間的答案,可惜的是,這樣的事情已經不是標準軟件包的一部分。 – Marko 2010-11-09 14:43:14
難道不是通過使用http://golang.org/pkg/syscall/ LoadLibrary完成的嗎?我記得有人編寫了代碼,可以讓你在Go中動態地調用dll中的任何函數,但是我再也找不到這個例子。 – jcao219 2010-11-10 00:19:52
@ jcao219我還沒有看到,但它只是窗戶。你還需要一種方法來調用庫例程和Go – cthom06 2010-11-10 12:56:25