从今天开始,我会回顾一下UC的知识,内容如下
UC主要内容就是 Unix的系统函数和Unix系统的设计和管理机制。
内容:
1 Unix/Linux的静态库和共享库
2 C语言的错误处理
3 环境变量和环境表
4 Unix/Linux的内存管理
5 Unix/Linux的文件操作
6 Unix/Linux的目录操作
7 Unix/Linux的进程管理
8 Unix/Linux的信号处理
9 IPC-进程间通信(共享内存、消息队列)
10 Unix/Linux的网络编程
11 Unix/Linux的多线程开发
先讲一下GCC编译器:
gcc的完整过程:
1 预处理 ,针对所有的指令(以#开头)
2 编译,检查基本的语法错误
3 汇编,把代码变成机器指令
4 连接,把周边的函数链接进来。
gcc -c 只编译,不连接,生成目标文件.o
gcc -o 改变目标文件的名称
gcc -E 只做预处理,不编译,不连接
gcc -S 生成汇编文件
gcc -v 可以查看编译器的版本
gcc -Wall 可以显示更多的警告信息
常用的指令:
#Include 包含一个头文件,没什么好说的
#define 宏定义(具体情况baidu吧)
#error 产生错误
#warning 产生警告
#pragma 这小子有三种用法:
1) #pragma GCC dependency 文件名a
会比较当前文件和a谁的时间更新,如果a的时间更新,会产生一个警告。
2) #pragma GCC poison 单词
禁止使用poison后面的单词,否则产生错误。
3) #pragma pack(整数) 针对 结构的对齐和补齐,整数如果为1,取消对齐和补齐,为2就是按照2的倍数对齐和补齐。
#pragma pack的整数如果超过struct中最大的字节,会按最大字节算
环境变量和头文件:
操作系统在运行时,会把一些常用的配置放入内存中,这些叫 环境变量。
echo $PATH 多个目录用:隔开,在bash中,配置环境变量:
export PATH=$PATH:.
$PATH代表之前配置的环境变量依然有效
: 多个目录分隔
. 当前目录
想要永久有效需要把export 写入启动文件中
本人所写,无非是想复习一下UC知识。如有不对之处,请各路大神谅解并赐教,小弟将不胜感激。