linux C 学习笔记(一):静态编译与动态编译
2017-08-28 14:45
316 查看
原有工程文件:test.c test.h
生成静态库:
静态编译源文件:
动态编译源文件:
静态编译指令
生成可执行文件:gcc -c test.c -o test.o
生成静态库:
ar rc libtest.a test.o
静态编译源文件:
gcc hello.c -o hello ./libtest.a
动态编译指令
生成动态库:gcc -shared -fPIC -o libtest.so test.c
动态编译源文件:
gcc hello.c -o hello ./libtest.so
静态库与动态库区别
两者的区别其实很小,静态库是必须要链接到执行文件中去的,而动态库是不需要链接到最后的执行文件中的。怎么理解呢?也就是说,对于最后的执行文件而言,你是否删除静态库无所谓。但是,一旦你删除了动态库,最后的执行文件就玩不转了。相关文章推荐
- 学习笔记----linux下编译samba
- 编译命令(amlogic open linux)----学习笔记
- 【学习笔记】编译Linux内核(上)--编译基于x86平台的Linux内核的过程
- Linux下快速静态编译Qt以及Qt动态/静态版本共存
- linux内存学习笔记(三)——静态映射与DMA
- OK6410 Linux开发环境搭建--编译以及ubuntu的使用方法学习笔记
- Amlogic open linux 编译环境安装 ---学习笔记
- 自己在linux上编译、链接、动态库和静态库的学习笔记
- 学习笔记 --- LINUX 驱动调试之动态设置寄存器
- linux学习笔记2: linux中如何用gcc编译用vi写的c文件
- [Linux_C 学习笔记]——条件编译
- 【转老迈】linux内核编译学习笔记
- Linux 学习笔记_13_1_LAMP环境编译(上) --编译前准备
- java静态和动态代理学习笔记
- LINUX学习笔记20—内核配置与编译
- Linux 学习笔记_13_2_LAMP环境编译(下) --编译过程及分析
- 学习笔记----linux下编译apache中的虚拟主机中出现的apache 403
- linux动态编译和静态编译
- 【Linux 学习笔记】 使用编译
- Linux学习笔记--内核编译