如题所述
第1个回答 2022-06-27
工程结构如上图所示,我们需要实现的目标是在go文件中调用c文件
foo.c如下:
foo.go如下
foo.h如下:
编译过程如下:
1、先将c文件编译为.o文件,然后生成动态链接库.dylib文件
(1) clang -c foo.c
(2 clang -shared foo.o -o libfoo.dylib
2、在上述的动态链接库生成之后,在foo.go中添加动态链接命令:#cgo LDFLAGS: -L./ -lfoo
需要注意的是
中间不能有空格
foo.c如下:
foo.go如下
foo.h如下:
编译过程如下:
1、先将c文件编译为.o文件,然后生成动态链接库.dylib文件
(1) clang -c foo.c
(2 clang -shared foo.o -o libfoo.dylib
2、在上述的动态链接库生成之后,在foo.go中添加动态链接命令:#cgo LDFLAGS: -L./ -lfoo
需要注意的是
中间不能有空格