Golang的速度極快,而且Go可以直接編譯成shared library
直接就譨讓Python使用ctypes
載入,就能使用了
事先需求:
- 安裝好Go (版本>=1.5),而且Go要在環境變數裡(執行
go -v
要有東西XD)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| package main
import "C" import "fmt"
func printBye() { fmt.Println("From DLL: Bye!") }
func sum(a int, b int) int { return a + b; }
func main() {}
|
然後就可以執行下面兩行Python來編譯成shared library檔案
1 2
| import os os.system("go build -buildmode=c-shared -o libtest.dll test.go")
|
就可以在你的目錄下看到libtest.dll
了,就載入後,就能使用裡面的method了
1 2 3 4 5
| import ctypes test = ctypes.cdll.LoadLibrary("libtest.dll")
test.printBye() test.sum(1, 2)
|