VScode 环境搭建

1、下载安装VScode软件

安装包下载路径:https://code.visualstudio.com/

2、下载完成之后安装C/C++相关插件

捕获.PNG3、安装gcc编译器

MinGW 是Minimalist GNU on Windows ,是将gcc移植到windows平台下,并且包含了Win32API。

MinGW-w64是开源软件,可以免费使用。

官方下载地址:https://sourceforge.net/projects/mingw-w64/files/

捕获1.PNG选择x86-64-win32-sjlj

x86-64:64位操作系统,i686:32位操作系统

win32:开发windows系统程序的协议。posix其他系统协议

seh:新的,仅支持64位,sjlj:稳定的,64和32位都支持。dwarf:优于sjlj,仅支持32位。

下载然后解压:
捕获3.PNG4、配置gcc环境变量

右键此电脑,选择属性,下拉找到相关设置,点击高级系统设置,在出来的对话框里点击环境变量。

捕获4.PNG系统变量里面,点击新建,输入变量名(自取),和变量值,变量值为第3步的文件压缩路径。

捕获5.PNG系统变量里找到Path,选中,点击编辑,在出来的对话框里点击新建,输入第3步的bin文件路径,%MinGW_HOME%为D:\mingw64路径的名称。

捕获6.PNG5、配置完成,可在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)的程序非常有用。 这些程序根据机器代码产生一种类似于汇编代码的格式。