gcc创建,使用动态库

动态库在程序启动时被装载。在linux下一般是.so文件。当一个应用程序装载了一个动态库后,其它应用程序仍可以装载同一个动态库。这个被多进程同时使用的动态库在内存中只有一个副本。下面演示如何创建,使用动态库:

源文件share_lib.c内容如下:

#include <stdio.h>
void print1() {
	printf("hello world1\n");
}
void print2() {
	printf("hello world2\n");
}
使用以下命令生成动态库:

gcc -shared -fPIC -o share_lib.so share_lib.c

其中-fPIC表示生成位置无关的代码,-shared表示将位置无关的代码制作为动态库。

要使用些动态库,需要建一个头文件share_lib.h,内容如下:

extern void print1();
extern void print2();

测试文件main1.c的内容如下:

#include <stdio.h>
#include "share_lib.h"
int main() {
	print1();
	print2();	
	return 1;
}

使用以下命令生成可执行文件app1:

gcc main1.c ./share_lib.so -o app1



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值