1. GCC使用以及常用选项
1.1 GCC概述1.2. C语言编译过程1.3 C语言常见错误1.4 预处理的使用 2. C语言常用关键字及运算符操作
2.1 关键字2.2 运算符2.3 逻辑操作引用内容
1. GCC使用以及常用选项 1.1 GCC概述GCC就是一个c语言编译器,让机器读GCC懂你写的那些乱七八糟的代码,或者给你报错,让你心烦!
1.2. C语言编译过程| GCC版本:5.4.0
语法格式:
gcc [参数] [源文件]
常用参数:
| 参数 | 内容 |
|---|---|
| -o | 指定生成的输出文件 |
| -E | 仅执行编译预处理 |
| -S | 将C代码转换为汇编代码 |
| -wall | 显示警告信息 |
| -c | 仅执行编译操作,不进行连接操作 |
参考指令
无选项编译文件:生成文件名默认为a.out
[root@linux ~]# gcc linux.c
预处理:生成文件后缀为.i
[root@linux ~]# gcc -E linux.c -o linux.i
编译:将代码转换为汇编语言,文件后缀为.a
[root@linux ~]# gcc -S linux.i -o linux.a
汇编:转换为二进制文件,仅编译不连接
链接:转换为可执行文件
[root@linux ~]# gcc -o linux linux.c1.3 C语言常见错误
- 头文件引用:#include < >系统里面找 | #include" "文件里面找;编译错误如:中文分号;
- 条件预处理宏(替换:不进行语法检测)#ifdef #else #endif预定义宏宏展开下的#,##
# 字符串化
##链接符号
关键字就是编译器预先定义了一定意义的字符串,读到**;**后结束;
数据类型
C语言操作对象:资源/内容(内存类型的资源,LCD缓存、LED灯(IO));
C语言描述资源属性:资源的大小,限制内容资源的大小工具是关键字;
硬件芯片最小单位为:bit;软件最小单位:byte;8 bit==1 byte;
| 关键字 | 内容解释 |
|---|---|
| char | 字符串大小为1字节 |
| int | 整数,字节数跟编译器有关 |
| long,short | 长整型,短整型 |
| unsigned,signed | 无符号数,有符号数 |
| float,double | 单精度浮点数4字节,双精度浮点数8字节 |
| void | 空,内存限制符号 |
自定义
| 关键字 | 内容解释 |
|---|---|
| struct | 结构,元素之间的和 |
| union | 共用体,公用起始地址 |
| enum | 枚举,自增(可怜的关键词) |
| typedef | 重定义(起外号),方便阅读 |
逻辑结构
| 关键字 | 内容解释 |
|---|---|
| if,else | 条件结构 |
| switch,case,default | 多分支结构 |
| do,while,for | 循环结构 |
| continue,break,goto | 跳跃结构 |
类型修饰
对内存资源存放位置的限定,资源属性中位置的限定,对嵌入式开发较为重要。
| 关键字 | 内容解释 |
|---|---|
| auto | 自动变量 |
| register | 限制变量定义在寄存器上的修饰符 |
| static | 静态变量 |
| extern | 外部申明 |
| const | 常量的定义(只读的变量) |
| volatile | 告知编译器编译方法的关键字,并不优化编译 |
杂项
| 关键字 | 内容解释 |
|---|---|
| sizeof | 编译器查看内存空间容量的关键字工具,并不是函数 |
| return | 返回 |
算数操作运算符
加法+,减法 -,乘法 *,除法 /,取余%;
逻辑运算符
逻辑或||,逻辑与&&
大于>,小于<,大于等于>=,小于等于<=,等于==;
!为真,~取反
位运算
<<左移(乘法*2),>>右移(除法/2);
&与操作(屏蔽作用,清零器),|或(取出作用,保留),^ 异或(相同为假,不同为真)
赋值运算
=赋值与
+=,-=,&=…
内存访问符号
()限制符,函数符,
[]数组,内存访问ID符号,
{}函数体,
->地址访问,.变量访问
&取地址,*指针
->地址访问,.变量访问
&取地址,*指针
引用内容以上内容参考链接:
https://www.linuxcool.com/gcc.



