1.快速查看
gcc code.c -o mybin.exe 只能用来编译c语言
g++ code.cpp/.cc/.cxx -o mycpp.exe
centos7 yum 安装g++
2.程序的编译
->编程语言翻译成计算机语言
->编译器来执行的
C源文件->预处理(宏,条件编译,注释,头文件展开)->编译(c语言翻译成汇编)->汇编(变成二进制文件)->链接(形成可执行文件)->可执行程序
Linux下的验证方法
gcc -E code.c -o code.i 预处理
-S code.i -o code.s 编译
-c code.s -o code.c (od查看) 汇编
3.动静态库
我们的库以动态库居多
假如李四想要去上网,他并不知道网吧的位置,所以他问高三学长网吧位置,得到位置后,回到学校就去学长会给的位置去网吧上网。
李四就相当于软件,而高三学长就相当于编译器中的连接器,学校相当于内存,运行代码,我们的代码被加载到内存之中,去网吧上网,网吧就相当于动态库,软件就要去链接动态库才能生成可执行代码
但是此时网吧关了,李四还想要去上网,他就给他爸爸说。他爸就直接在李四宿舍安装了电脑,李四不需要出去上网就可以直接在宿舍上网
直接在宿舍安装电脑就叫静态链接,而此时的宿舍的电脑就称作静态库
动态库 是c/c++或者其他第三方提供的所有方法的集合,被所有的程序以链接的方法,关联起来,动态链接
静态库 是c/c++或者其他第三方提供的所有方法的集合,被所有程序以拷贝的方法,将所需的代码,拷贝到自己的可执行程序中 静态链接
动态库连接优缺点:
优点:形成的可执行程序体积比较小,比较节省空间的
缺点:稍慢一点,依赖与动态库,动态库没了,程序无法运行
静态库优缺点:
优点:无视库,可以独立运行
缺点:体积大浪费空间
gcc“文件” -static可验证
4.自动化构建代码
make/makefile:基础
make:是一个命令
makefile:当前目录下存在的一个具有特定格式的文本文件
1.如何使用
建立makefile 文件
依赖方法前面必须是一个tab键不能是2个空格
2.如何清理