GO语言如何调用自己生成的so动态库文件

一、调用so动态库;

1、so动态库文件的生成;

首先编写.c源文件和.h头文件;
使用gcc编译工具编译生成.so文件
gcc -shared source.c -o libname.so
或gcc -shared -fPIC source.c -o libname.so
-fPIC具体的意思需要查一下;
【注意】我在使用过程中,so动态文件的明明一定要注意,文件名一定要lib开头,libxxx.so,在之后导入时不需要加lib,如#cgo LDFLAGS: -L./ -lxxx即可;

2、go语言如何调用;

go语言想调用C语言的动态库,可通过cgo,具体用法如下:

package main
/*
#cgo CFLAGS: -I<path_of_header_file>
#cgo LDFLAGS: -L<path_of_so_file> -l<name_of_so>
#include "header_file"
*/
import "C"
    
func main(){
	C.function()
}

3、在使用前先更改路径LD_LIBRARY_PATH

linux系统下动态库也称共享库,自己生成的so文件可能也需要依赖第三方库,改变量就是告诉系统哪

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值