例如,go 檔案中的 MY_NUM:
//#cgo CFLAGS: -DMY_NUM=3
/*
int multiple(int x) {
return x * MY_NUM;
}
*/
import "C"
....
但是我會經常改變MY_NUM的值。所以我想在構建命令中更改它。
如何在go build命令列中定義它?
uj5u.com熱心網友回復:
這不完全是一個go build選項,但您可以使用CGO_CFLAGS環境變數,例如:
$ cat foo.go
package main
/*
int multiple(int x) {
return x * MY_NUM;
}
*/
import "C"
import "fmt"
func main() {
fmt.Println(C.multiple(2))
}
$ CGO_CFLAGS="-DMY_NUM=10" go build foo.go
$ ./foo
20
$
來自https://pkg.go.dev/cmd/cgo
構建時,CGO_CFLAGS、CGO_CPPFLAGS、CGO_CXXFLAGS、CGO_FFLAGS 和 CGO_LDFLAGS 環境變數被添加到從這些指令派生的標志中。應使用指令而不是環境變數設定特定于包的標志,以便構建在未修改的環境中作業。從環境變數獲得的標志不受上述安全限制的約束。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/388926.html
上一篇:檢測fyne中的阻力
下一篇:Redis最常用的使用場景
