Linux制作动态库

参考文章:

https://www.cnblogs.com/jiqingwu/p/linux_dynamic_lib_create.html

步骤:

1,编写源文件

2,编写接口文件

3,生成动态库

4,生成可执行文件

5,添加可以执行文件运行库查找路径

 

一、编写源文件

相当于函数定义

int max(int n1, int n2, int n3)
{
	int max_n = n1;
	max_n = max_n > n2 ? max_n : n2;
	max_n = max_n > n3 ? max_n : n3;
	
	return max_n;
}

二、编写接口文件

相当于函数声明

#ifndef __MAX_H_
#define __MAX_H

int max(int, int, int);
#endif

三、生成动态库

命令如下:

gcc -fPIC -shared -o libmax.so max.c

-fPIC表示生成与位置无关的代码,-shared表示生成动态库,动态库的名称一般定义为lib*.so

四、生成可执行文件

命令如下:

gcc -o max_test max_test.c -L. -lmax

-L.表示在当前目录下查找动态库,-l表示链接的动态库为libmax.so。

五、运行可执行文件

可执行文件在运行时,需要知道动态库的位置。定义运行时动态库的搜索路径的环境变量是LD_LIBRARY_PATH,可以暂时添加当前目录。命令如下:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.

关于运行可执行文件的搜索路径,可以参照https://www.cnblogs.com/jiqingwu/p/linux_dynamic_lib_create.html

六、执行结果

the max number is 4

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值