程序员必备技能:
一门编程语言:C语言、C++
数据结构与算法:表、树、图、查找、排序、STL
操作系统:UNIX/Linux系统
网络编程:TCP\IP(Socket技术、TCP、UDP、FTP协议)
数据库:MySQL
界面设计:Qt
课程介绍:
环境介绍
内存管理
文件管理
信号处理
进程管理
进程通信
线程管理
线程同步
网络编程
UNIX系统介绍:
BCPL->newB->C->UNIX->Minix->Linux->gcc
最早版本诞生于1970年,属于美国贝尔实验室,作者丹尼斯.里奇和肯.汤普逊
是最早的多用户、多任务、支持多种CPU架构、高安全性、高稳定性、高可靠性
既能够构建大型关键业务系统的商用服务器、也能支持嵌入式设备
Minix是一种基于微内核架构的类UNIX系统,并开放全部源代码给大学教学和研究工作,Linux之父林纳斯.托瓦兹正是受到Minix的启发,才开发了第一个版本的Linux系统
Linux系统介绍:
Linux,全称GNU/Linux,其内核由林纳斯·托瓦兹于1991年首次发布。
它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
相关知识:
Linux的标志:小企鹅,因为企鹅是南极洲的标志性动物,而南极目前不被任何国家占有,属于全人类
GNU组织:通用的非商业的类UNIX系统,目标全球最大的开源组织,负责Linux内核代码的升级维护
GPL通用许可证:在带有GPL证书的代码的基础上开发出的软件,也必须支持GPL证书
POSIX:可移植操作系统接口,Linux完全遵循该标准,UNIX也大部分遵循该标准,所以它们命令、API接口基本上都是通用的
发行版:Linux只是内核,内核+shell+基础软件才是可用的操作系统
由不同的公司依据Linux内核制作出不同发行版的Linux系统
Ubuntu、redhat、CentOS、debian、deepin、UOS
GNU编译工具:
多样性:
支持各种编程语言、支持各种操作系统
gcc -v 参看版本信息
构建过程: