我的github: https://github.com/WHJWNAVY

静态库与动态库

嵌入式编程 Ann, Pepper 709℃


库的制作和使用:

{

静态库制作:

{

1, gcc -c myhello.c

//自动生成名为xxx.o的二进制文件

2, ar crs libmyhello.a xxx.o

//静态库名必须以lib开头,后缀名必须为.a

}

静态库使用:

{

gcc -o hello main.c -L. -lmyhello

//-L.用于指定库的路径(当前目录下),-l用于指定库名

}

 
 

动态库制作:

{

1, gcc -fPIC -Wall -c myhello.c

//-fPIC用于创建与地址无关的编译程序。

//-Wall用于打开所有警告

2, gcc -shared -o libmyhello.so myhello.o

}

动态库使用

{

1, gcc -o hello main.c -L. -lmyhello//编译

2, 为了让执行程序找到动态链接库,有三种方法:

{

1, 把库拷贝到/usr/lib和/lib目录下。

2, 在LD_LIBRARY_PATH环境变量中加上库所在路径。

3, 添加/etc/ld.so.conf.d/xxx.conf文件,

把库所在的路径添加到文件末尾,并执行ldconfig刷新。

}

}

}

转载请注明:胡椒小兄弟 » 静态库与动态库

喜欢 (1)or分享 (0)