gcc main.c -I../ -DMAX 在外部定义宏
编译器静态编译-static-静止调用动态库
库文件:保存变量和函数,但是看不见函数的实现。
路径 静态库 .a 动态库 .so
lib 系统库
/usr/lib/ 程序软件的自带库
静态库和动态库的不同点
静态库:执行之前就加入到执行代码中
动态库:执行程序启动时加载到执行代码中
静态库:1执行速度快 2编译慢 3占用内存大 4升级不方便 5容易部署
动态库:1执行速度慢 2编译快 3占用内存小 4升级方便 5不容易部署
静态库
制作: gcc -c add.c 编译.c到.o
ar rcs lib 文件名.a add.o
gcc main.c -l(库名)去除前缀后缀
gcc main.c -ladd -L
readme 使用文档
动态库制作 gcc -shared -fpic -o libadd.so add.c
gcc main.c /root/1111/libadd.so -o add
数学库 libm.a libm.so
操作符库 libc.a libc.so
编译器静态编译-static-静止调用动态库
库文件:保存变量和函数,但是看不见函数的实现。
路径 静态库 .a 动态库 .so
lib 系统库
/usr/lib/ 程序软件的自带库
静态库和动态库的不同点
静态库:执行之前就加入到执行代码中
动态库:执行程序启动时加载到执行代码中
静态库:1执行速度快 2编译慢 3占用内存大 4升级不方便 5容易部署
动态库:1执行速度慢 2编译快 3占用内存小 4升级方便 5不容易部署
静态库
制作: gcc -c add.c 编译.c到.o
ar rcs lib 文件名.a add.o
gcc main.c -l(库名)去除前缀后缀
gcc main.c -ladd -L
readme 使用文档
动态库制作 gcc -shared -fpic -o libadd.so add.c
gcc main.c /root/1111/libadd.so -o add
数学库 libm.a libm.so
操作符库 libc.a libc.so