基础中的基础知识
基本工具:
编辑器:Vi
编译器:GCC
调试器:GDB(不用GDB可以自己在程序中设计断点打印变量的值,来调试)
工程管理器:make
ANSI C语言
数据类型:
基本类型 | 空类型 | 构造类型
--------------------------------------------------------------------------------------------------------------------------------
空类型:void
构造类型:struct | union | 数组
枚举型(基本类型):
enum week{mon = 1, thu, wen, thur, fri, sat, sun};
enum week a;
默认从零开始,也可以自定义
注意:1.枚举元素是常量,没有地址,存在text段,看作数值即可,就是宏
2.强制类型转换(enum week)2;== thu;
存储类型:
静态类型 | 自动类型 | 外部类型 | 寄存器类型
linux的用户空间和内核空间
简单来说就是保护内核空间安全稳定地运行 。
系统调用
系统调用是系统向用户提供的服务窗口,得到用户的请求服务后,控制转向操作系统,操作系统完成服务返回结果。
Linux系统调用继承了UNIX最基本和有用的部分:
有进程控制、进程间通讯、文件系统控制、系统控制、存储管理、网络管理、socket管理、用户管理
API(应用程序编程接口)和系统调用
API面向用户的,API可能对应着一种或者几种组合的系统调用完成API对应的功能,也可能API不调用系统调用,只是用户级的服务。如c库中getpid,对应着系统调用的getpid。Linux的API遵循POSIX标准,与UNIX遵循的标准一样,使得程序移植性更强。
系统命令
调用API完成工作