UNIX和Linux
UNIX操作系统
丹尼斯.里奇、肯.汤普逊于1971年左右在美国贝尔实验室,使用C语言开发了这款操作系统。
系统的特点是多用户、多任务,支持多种处理器架构,高安全性、高可靠性、高稳定性。
既可以构建大型关键业务服务器,也可以构建面向移动终端的、手持设备等相关的嵌入式应用。
三大衍生版本
System V:银行、电信在使用的服务器系统
Berkley:MacOS iOS带界面的
Hybrid:Minix、Linux
Linux操作系统
类UNIX系统,免费开源,它指的是系统的内核,凡是使用这种内核的操作系统都叫做Linux系统(发行版),严格意义上讲Linux指的是内核,隶属于GNU工程。
手机、平板电脑、路由器、视频游戏控制台、PC、大型计算机、超级计算机。
标志是一只企鹅,因为企鹅是南极的标志性动物,根据国际公约,南极为全人类共同所有,所以Linux使用企鹅作为标志也表明:开源的Linux为全人类共同所有,任何公司或个人无权将其私有。
Minix操作系统是一个微型的类UNIX系统、免费开源,而Linux之父就是在参照这款操作系统,才写出了第一个版本的Linux内核。
GNU工程:是自由软件基金会所创立的一个开源组织,基本原则就是共享,主旨是发展出一个有别于商业UNIX的免费且完整的类UNIX系统----GNU Not UNIX。目前Linux内核由它进行维护,所以Linux也叫GNU Linux。
GPL通用公共许可证:
允许对某些成果以及派生成果重用、修改、复制,对所有人都是自由的,但不能声明他人所做。
POSIX标准:Portable Operating System Interface,缩写为POSIX,统一的系统编程接口规范,它规定了操作系统以接口形式提供的功能的 名字、参数、返回值,它保障了应用程序源码级的可移植性,而Linux完全遵循了这个标准。
版本管理:
早期管理:0.01、0.02、...、0.09、1.0
旧计划:A.B.C
A:主版本号
B:次版本号
C:补丁序号
新计划:A.B.C.D.E
D:构建次数
E:描述信息
特点:
多用户、多任务
遵循GNU/GPL,具有开放性
设备独立性
丰富的网络功能
可靠的系统安全
良好的可移植性
发行版:
Debian
Ubuntu
Fedora
Redhat
CentOS
GNU编译器
1、支持众多编程语言、平台。
2、构建过程(C语言是如何变成可执行文件的)。
预处理:把程序员所编译的C代码翻译成标准的C代码
汇编:把预处理后的C代码翻译成汇编代码
编译:把汇编代码翻译成二进制指令
链接:把若干个目标文件合并成一个可执行文件
3、gcc -v 查看版本
4、文件后缀
.h 头文件
.c 源文件
.i 预处理文件
.s 汇编文件
.o 目标文件
.a 静态库文件
.so 共享库文件
.gch 头文件的编译结果,一般不要保留
5、参数
-E 预处理
-S 汇编
-c 编译(生成目标文件)
-o 指定编译结果的名字
-Wall 产生尽可能多的警告
-Werror 把警告当作错误处理
-x 制定编译语言
-g 生成调试信息
-On 优化等级
-D 编译时添加宏
-l 链接里加库
-I 指定头文件的查找路径,配置环境变量
1、打开 vim ~/.bashrc
2、在文件末尾,添加一行 export C_INCLUDE_PATH=$C_INCLUDE_PATH:NEW_PATH
3、重新加载配置文件 source ~/.bashrc
注意:如果要删除环境变量需要在~/.bashrc文件中删除环境变量后,再重新配置一遍