go - 在cgo中定义变量

标签 go cgo

我想在构建时在 cgo 中定义一个字符串变量。以下方法均无效。

  1. #cgo CFLAGS: -DLOG="common"  
    

    'common' 未声明(在此函数中首次使用)

  2. #cgo CFLAGS: -DLOG=common
    

    'common' 未声明(在此函数中首次使用)

  3. #cgo CFLAGS: -DLOG=\"common\"
    

    格式错误的#cgo 参数:-DLOG="common"

最佳答案

这似乎是不可能的,因为 cgo 做了一些处理/解析——你能不能只用一个普通的 #define LOG "common"(即不使用 CGO 特殊标志)。

或者失败你可以像这样调用go run/go build:CGO_CFLAGS='-DLOG="common"' go run so.go

关于go - 在cgo中定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35719394/

相关文章:

go - AFNetworking 和授权 header

go - 在 Golang 中推迟延期

go - 在 go 中导出结构

go - golang 程序通过 cgo 调用 sigsuspend 不返回

go - CGO : Undefined symbols for architecture x86_64

go - 为什么在新计算机上访问 Firestore 时出现 ‘panic: runtime error: invalid memory address or nil pointer dereference’?

google-app-engine - 如何在 Google App Engine Standard Env for Go 中获取 request.RemoteAddr 和 X-AppEngine-Country、Region 等的输出?

c - 如何调试用 cgo 调用的 C 代码?

go - 无法从 go 运行 C 调用

c++ - 如何在 Go 代码中捕获 C/C++ lib 异常