现在的位置: 首页 > 综合 > 正文

gcc创建,使用动态库

2018年12月16日 ⁄ 综合 ⁄ 共 522字 ⁄ 字号 评论关闭

动态库在程序启动时被装载。在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

抱歉!评论已关闭.