类似Windows系统中的动态链接库,Linux中也有相应的共享库用以支持代码的复用。Windows中为*.dll,而Linux中为*.so。下面详细介绍如何创建、使用Linux的共享库。
一.创建共享库
#include<stdio.h>
#include<stdlib.h>
int GetMax(int a, int b) {
if (a >= b)
return a;
return b;
}
int GetInt(char* psztxt) {
if (0 == psztxt)
return -1;
return atoi(psztxt);
}
在Cygwin窗口输入以下命令,进行编译:
cd /cygdrive/E/PIHMRepo1/Lib
gcc -fpic -shared mytestso.c -o mytestso.so
-fpic 使输出的对象模块是按照可重定位地址方式生成的
编译成功后,当前目录下有mytestso.so,此时已成功创建共享库mytestso.so。