VScode 环境搭建
1、下载安装VScode软件
安装包下载路径:https://code.visualstudio.com/
2、下载完成之后安装C/C++相关插件
3、安装gcc编译器
MinGW 是Minimalist GNU on Windows ,是将gcc移植到windows平台下,并且包含了Win32API。
MinGW-w64是开源软件,可以免费使用。
官方下载地址:https://sourceforge.net/projects/mingw-w64/files/
选择x86-64-win32-sjlj
x86-64:64位操作系统,i686:32位操作系统
win32:开发windows系统程序的协议。posix其他系统协议
seh:新的,仅支持64位,sjlj:稳定的,64和32位都支持。dwarf:优于sjlj,仅支持32位。
下载然后解压:4、配置gcc环境变量
右键此电脑,选择属性,下拉找到相关设置,点击高级系统设置,在出来的对话框里点击环境变量。
系统变量里面,点击新建,输入变量名(自取),和变量值,变量值为第3步的文件压缩路径。
系统变量里找到Path,选中,点击编辑,在出来的对话框里点击新建,输入第3步的bin文件路径,%MinGW_HOME%为D:\mingw64路径的名称。
5、配置完成,可在VScode里编写简单打印Hello,world程序,进行编译检查。
6、编译器指令简介
gcc -o hello hello.c
gcc编译器驱动程序读取源文件hello.c ,并把它翻译成可执行文件hello。这个翻译过程分为4个阶段。
a、预处理阶段,hello.c经过预处理cpp,根据#开头语句,修改原始C程序,比如#include <stdio.h>命令告诉预处理器读取系统文件的stdio.h的内容插入程序文本中。得到hello.i文件
b、编译阶段,编译器ccl将文本hello.i翻译程文本文件hello.s,它包含一个汇编语言程序
c、汇编阶段,汇编器(as)将hello.s 翻译成机器语言指令,把这些指令打包成一种叫做可重定位目标程序(relocatable object program)的格式,并将结果保存在目标文件hello.o 中。hello.o 文件是一个二进制文件,它包含的17个字节是函数main 的指令编码。如果我们在文本编辑器中打开hello.o 文件,将看到一堆乱码
d、链接阶段,hello程序调用了printf函数,它是每个C 编译器都提供的标准C库中的一个函数。printf 函数存在于一个名为printf.o 的单独的预编译好了的目标文件中,而这个文件必须以某种方式合并到我们的hello.o 程序中。链接器(Id)就负责处理这种合并。结果就得到hello文件,它是一个可执行目标文件(或者简称为可执行文件),可以被加载到内存中,由系统执行。
gcc -Og -S hello.c
编译选项-Og 告诉编译器使用会生成符合原始C 代码整体结构的机器代码的优化等级。
在命令行上使用-S选项,就能看到C语言编译器产生的汇编代码,hello.s。
gcc -Og -c hello.c
在命令行上使用-c 选项,这就会产生目标代码文件hello.o,它是二进制格式的,所以无法直接查看。
objdump -d hello.o
要查看机器代码文件的内容,有一类称为反汇编器(disassembler)的程序非常有用。 这些程序根据机器代码产生一种类似于汇编代码的格式。