gcc创建,使用动态库

来源:互联网 发布:苹果6在线软件 编辑:程序博客网 时间:2024/06/07 05:15

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