初学C语言day02--编译c语言过程及文件类型

发布时间 2023-07-19 20:34:05作者: BigBig飞
printf/scanf 是标准库的输出输入函数,一般用于调试代码
printf("---------\n"); 
xxxx 
printf("---------\n");
转义字符:键盘上有一些不好直接表示的符号,通过一些特殊字符搭配来表示,这种字符搭配称为转移字符
  1. \n 换行

  2. \t 制表符,Tab键

  3. \a 铃响

  4. \b 光标后退一个字符
    printf("\b \b") 退格效果

  5. \r 光标回到行首

  6. %% 显示一个%

  7. \ \ 显示一个
    注意:C语言是以分号作为一行代码的结束标志,使用大括号来划分代码注意:必须使用英文输入法

编译器:

负责把人能看得懂的文本文件,翻译成计算机能看得懂的二进制文件,由预处理器、编译器、链接器组成
gcc编译器是GNU社区为了编译Linux内核代码而开发一款免费的编译器,默认语法标准是C99或者C89
常用的编译参数:
-E 只显示预处理的结果
-S 生成汇编文件
-c 只编译不链接
-o 指定编译结果的名字
-I 指定头文件的加载路径 -I path
-l 指定要使用的代码库 -lm导入数学库
-Wall 尽可能多地产生警告信息
-Werror 把警告当错误处理
-std 设置编译语法标准 -std=gnu89/99

C代码如何从源文件变成可执行文件的过程:
1、预处理:把源文件翻译成预处理文件
gcc -E xxx.c 显示预处理结果到终端
gcc -E xxx.c -o xxx.i 把预处理的结果存储到xxx.i预处理文件中
2、编译: 把预处理文件翻译成汇编文件
gcc -S xxx.i 生成以.s结尾的汇编文件
3、汇编: 把汇编文件翻译成二进制的目标文件
gcc -c xxx.s 生成以.o结尾的目标文件
4、链接: 把若干个目标文件合并成一个可执行文件
gcc a.o b.o c.o ... 生成a.out可执行文件

C语言中的文件类型:
.c 源文件
.h 头文件
.h.gch 头文件的编译结果文件,会被优先使用
.i 预处理文件
.s 汇编文件
.o 目标文件
.so 共享库文件
.a 静态库文件