900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > VScode C语言 gcc环境安装

VScode C语言 gcc环境安装

时间:2022-11-19 03:26:20

相关推荐

VScode C语言 gcc环境安装

第一步:安装GCC

下载地址:官网

推荐下载:x86_64-win32-seh

包名:x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z

注意:安装在非C盘的地方

配置环境:

打开系统 》系统信息 》高级系统设置

顶部切换到【高级】》 下方【环境变量】

系统变量 》Path 》新建 》GCC安装目录

键盘Ctrl+R 》输入cmd 》打开终端

输入:gcc -v

出现此页面,恭喜安装成功!!!

出现此页面,恭喜安装成功!!!

出现此页面,恭喜安装成功!!!

第二步:安装VScode

这个教程太多了,可自行百度

第三步:VScode配置

打开Extensions(扩展) 》 安装 C/C++

创建一个C语言的工程目录 》写一个.c的文件 》并用vscode打开

#include<stdio.h>int main(void){printf("Hello,World\n");return 0;}

创建和配置c_cpp_properties.json文件

键盘Ctrl+Shift+P 打开命令行 》输入 C/C++ 》选择 【编辑配置(UI)】 》选择对应选项

会自动创建一个c_cpp_properties.json 的文件,并包含你刚刚的配置,其他的全部用默认值

配置编译文件

在vscode的代码文件界面中按下F5,选择第一项(GDB/LLDB)

根据提示选择第一项

点击后,vscode会自动在.vscode目录下创建【tasks.json】和【launch.json】这两个文件。(如果没有,可以手动创建)

接下是配置【launch.json】和【tasks.json】,想细了解原理的可以查看这篇文章

tasks.json和launch.json原理

配置launch.json

{"version": "0.2.0","configurations": [{"name": "C/C++ Runner: Debug Session","type": "cppdbg","request": "launch","args": [],"stopAtEntry": false,//externalConsole设为true 打开独立的终端窗口"externalConsole": true,"cwd": "${workspaceFolder}",//program表示你的可执行文件位置,这样写,是根据tasks.json生成"program": "${fileDirname}\\${fileBasenameNoExtension}.exe","MIMode": "gdb","miDebuggerPath": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],// preLaunchTask 表示在 执行调试前 要完成的任务// 比如这里 要完成 makeRun 这个tasks任务(重新生成程序)// 这里的 makeRun 是 tasks.json 中 lable 标记的任务名称// 注意:这里必须要与tasks.json 中 lable 一致"preLaunchTask": "C/C++: gcc.exe 生成活动文件"}]}

配置tasks.json

{"tasks": [{"type": "cppbuild","label": "C/C++: gcc.exe 生成活动文件","command": "D:/JRE/mingw64/bin/gcc.exe","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe",""],"options": {"cwd": "D:/JRE/mingw64/bin"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}],"version": "2.0.0"}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。