Makefile实现静态库和动态库

Makefile:

make命令在执行时需要一个命名为makefile的文件,makefile是一个文本形式的数据库文件
1、描述了整个工程的编译、链接等规则。
2、包含了有哪些文件需要编译,以及如何编译。
3、需要创建哪些库文件以及如何创建这些库文件。
make命令在执行时就会找到makefile文件

模式规则:
1、用来定义相同处理规则的多个文件,不同于隐式规则,隐式规则仅仅能够用make默认的变量来进行操作,而模式规则还能引入用户自定义变量,为多个文件建立相同的规则,从而简化makefile的编写。
2、类似于普通规则,该规则中想关的文件必须用"%“标明。
3、makefile文件中只有行注释,用”#"字符。

一、静态库:

libstatic:usehello.c libhello.c
				gcc -o libhello.c
				ar cr libstatic.a libhello.o
				gcc -o static usehello.c libstatic.a

运行静态库:

 #:makefile libstatic

二、动态库:

libshared:usehello libhello.c
				gcc -o libhello.c
				gcc -shared -fPIC -o libshared.so libhello.o
				gcc usehello.c -o dyLib(动态库名字) -lshared -L ./

运行动态库:

 #:LD_LIBRARY_PATH=./(当前目录)
 #:./dyLib(动态库名字)

猜你喜欢

转载自blog.csdn.net/qq_38261445/article/details/86510218
今日推荐