cgo 知识点

cgo 知识点 说明
可以通过go build -x -v输出带有cgo代码的Go源文件的构建细节。 https://weread.qq.com/web/reader/b8f32d2072895edbb8fbb04k65b326f026965b9eea6e6e1
CGO中的${SRCDIR}为当前目录的绝对路径。 https://weread.qq.com/web/reader/dd63214071cc7fa3dd61bb8k636320102206364d3f0ffdc
#cgo LDFLAGS 链接参数配置中,-rpath后面用等号还是逗号,要根据系统来定:macOS、windows用逗号,linux用等号 https://github.com/golang/go/issues/23904
Linux下动态链接库的加载是通过dlopen来实现的,dlopen函数按指定模式打开指定的动态链接库文件。它有一个加载顺序:(1)RPATH,(2) LD_LIBRARY_PATH,(3)/etc/ld.so.cache 维护的so 列表,(4)/lib 和/usr/lib。RPATH可以在编译的时候通过-r来指定,执行的时候就会到这个路径下去加载,如果不存在就会出错,不会出现加载不兼容版本的问题了。 https://weread.qq.com/web/reader/a28324e05b2600a28e18b06

posted on 2022-09-03 13:52  cag2050  阅读(170)  评论(2编辑  收藏  举报

导航