日期:2014-05-16  浏览次数:20792 次

Linux 下c的动态链接库的生成
Linux 下c的动态链接库的生成
最近Google了一阵子,总结了如何制作自己的动态链接库的资料,菜鸟级别,可能有错,望指出

主要的步骤是:1 编写自己的Linux库的源文件(*.h , *.c) -->> 2 编译生成动态库 -->>使用动态库
1: 编写自己的Linux库的源文件(*.h , *.c)
先编写头文件
#ifndef _MYP_
#define _MYP_
int MyP( int ) ;
#endif
Analysis: 其中_MYP_在这里目的是防止头文件的重复包含和编译。这个标识可以自由命名,每个头
文件的这个标识都应该是唯一的。表示的命名空间一个是头文件名全大写,前面加下划线,并把文件的"."
也变成下划线,如:stdio.h
#ifndef _STDIO_H
#define _STDIO_H
再编写有文件对应的实现功能的源文件()
#include"MyP.h"
int MyP(int i )
{
printf("i=%d\n",i);
return i ;
}
2:编译生成动态库
gcc MyP.c -fPIC -shared -o libmyp.so
Analysis:
经过上面的command会生成动态库libmyp.so ,为了不需要动态加载动态库,在命令是需要加上以lib