目录
1、下载 MinGW64 包,配置C/C++的Windows环境
0、不同符号代表的 CPU 的位数:
x86:x86代表一种通用的计算机指令集。x86以微软在1978年发布的处理器 8086 及其后一系列型号以 86 结尾的处理器而得名。x86-64 是 x86 的64位拓展,向后兼容16及32位CPU。
根据不同公司或不同系统对CPU位数的各种叫法总结如下::
x86、i386、i486、i586、i686 代表32位系统
x64、x86-64、x86_64、x64-64、AMD64、inter64 代表 64 位的CPU
1、下载 MinGW64 包,配置C/C++的Windows环境
下载链接:MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net
下拉页面,找到如下下载选项:
位数根据文章开头的解释来选,一般都是64位机了,所以就在前四个里面找,至于后面的 posix、win32、sjlj、seh的不同组合,如果不懂就随便选一个,对一般的编程没有太大影响,具体的区别可以看看别人的解释,例如这个:
MinGW gcc下载链接及sjlj、dwarf、seh异同以及gcc安装_Your Dream Started-优快云博客_seh sjlj
这是个免安装的文件,下载之后解压,里面只有一个名 mingw64 的文件为,然后把这个文件放到任意你喜欢的地方,比如我放到了C盘里。然后在系统环境变量中添加相应的环境变量,加入 C:\mingw64\bin 及 C:\mingw64\x86_64-w64-mingw32\bin ,具体是哪个盘根据自己的实际位置修改。
环境变量有啥用呢?比如你在命令行中执行一个指令 gcc ,系统就会依次在环境变量里的文件夹中寻找这个可执行文件,如果找不到就会报错。如果没有设置环境变量但还想用这个指令咋办呢?那就只能用这个指令的绝对路径了,比如:C:\mingw64\bin\gcc 。
然后在命令行中输入 gcc -v,看是否有版本信息输出,有的话就是安装成功了,没有的话就是。。。这么简单的安装操作。。。不会没有的。
2、在 VSCode 里配置 C++
1、有关插件的安装
安装 C/C++ 插件,就下面这个
安装 Code Runner,这个可以很方便的用来运行代码文件。注意只能运行单个文件,不能调试代码。
Code Runner 使用时可以直接在需要运行的代码界面右键选择 Run Code,或者点击 VSCode 右上角的运行按,如下:
注意:默认的 Code Runner 运行结果是在 Console(控制台)中的,但是如果代码中使用了scanf、cin等输入语句操作的话,因为Code输出是只读的,所以是无法在 Console 中输入任何字符的,因此需要设置 Code Runner 的输出位置为 Terminal。在 File -> Preferences -> settings -> User -> Extensions 中找到 Code Runner ,勾选 Run In Terminal 选项即可,如下图。另外还可以选中该选项下面的 Save All Files Before Run 选项,在使用 Code Runner 运行程序时会自动保存代码,无需ctrl+s了。
2、创建、编写、执行C++代码
建议新建一个空文件夹,然后右键选择“通过 Code 打开”,然后再创建相应的代码文件。
a、简单的运行方式:
如果只是简单的执行单个文件,一般来说,直接用 Code Runner 运行就可以了,运行方式上面有说。但是 Code Runner 插件只能自动的编译并运行,它们本质上是代替用户输入了编译和执行命令,但存在一些局限。比如我们在编译过程中还需要添加一些指令的话,就只能使用 VSCode 通用的代码运行方式来运行了。
b、通用的运行方式:
选择 VSCode 菜单栏中的 Run -> Run Without Debugging(快捷键 ctrl + F5),会弹出以下选择,选择第一个。
然后继续弹出以下选择:选择第一个 g++,VSCode会自动从环境变量中查找存在的编译器 。
gcc 与 g++ 有什么区别呢?简单点说 g++ 可以单独完成对 c 和 c++ 代码的编译,而 gcc 只能完整地完成 c 代码的编译,但对 c++ 的支持不足。另外两者的操作方式完全相同,因此遇到 g++ 和 gcc 时无脑选 g++ 就行了。
这时 VSCode 就会生成一个 .vscode 文件夹,里面默认有两个 json 文件:tasks.json、launch.json,这两个文件是用来设置代码调试时的参数的,具体的:
- tasks.json 文件的作用是编译程序,生成可执行文件。 定义了用于编译程序的编译器,所输出的文件格式,使用的语言标准等。另外也可以作为调试开始前要执行的任务被 launch.json 文件调用。只有编译完之后才能运行。
- launch.json 文件的作用是执行调试命令。比如调试某个文件(preLaunchTask 参数)、调试工具的位置等。
相关参数的作用如下:
tasks.json
{
// 请参阅 https://go.microsoft.com/fwlink/?LinkId=733558
//查看有关 tasks.json 格式的文档
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++.exe build active file", // 任务名称,与launch.json的preLaunchTask相对应
"command": "C:\\mingw64\\bin\\g++.exe", // 要使用的编译器, C就写gcc
// 编译代码时的命令参数
"args": [
"-g", // 生成和调试有关的信息
"${file}",
"-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true // 设为false可做到一个tasks.json配置多个编译指令,需要自己修改本文件
},
}
]
}
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - 生成和调试活动文件", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe", // 设置调试的可执行文件的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
"environment": [],
"externalConsole": false, // 是否打开外部控制台,false就是使用内部集成的控制台窗口查看代码运行结果等
"MIMode": "gdb",
"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe", // 调试器 gdb 的路径,在 mingw64 的安装包里找
// "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++.exe build active file" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
}
]
}
如果想要调试代码,则需要选择 VSCode 菜单栏中的 Run -> Start Debugging,或者按快捷键 F5 即可。