vsc 如何编译c语言,FW:win下轻量级的c语言开发环境配置:vsc + gcc
说明
VSCode是个编辑器,默认不带编译和调试环境,需要自行安装编译器,调试可以用其插件完成。
编译套件选用的是TDM-GCC,方便易用。(Codeblocks、Dev-Cpp等默认带的都是这款)。安装时会自动添加路径到环境变量PATH。
下载
配置
打开powershell,输入gcc检测gcc是否安装成功;
打开VS Code,点扩展,把需要的插件和主题都安装了;
建好纯英文的工作目录(VS Code对中文支持较差),在VSCode的资源管理器中打开这个目录,按F5,会自动创建.vscode目录下的launch.json文件,编辑并保存:
{
"version": "0.2.0",
"configurations": [{
"name": "C Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"launchOptionType": "Local", // 调试器启动类型,这里只能为Local
"targetArchitecture": "x86", // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
"program": "${cwd}\\${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
"miDebuggerPath": "gdb32.exe", // miDebugger的路径,注意这里要与MinGw的路径对应。64位系统用gdb64.exe
"args": [""], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,我一般设置为true
"cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"preLaunchTask": "gcc" // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
}]
}
在.vscode目录下新建tasks.json文件:
{
"version": "0.1.0",
"command": "gcc", // 编译C++用g++,用MinGW和clang的自行修改。
"args": ["${file}", "-o", "${fileBasenameNoExtension}.exe", "-g3", "-Og", "-Wall", "-static-libgcc", "-std=c11", "-fexec-charset=GBK", "-finput-charset=UTF-8"], // 编译命令参数,C++可用-std=c++14
"showOutput": "always",
"problemMatcher": {
"owner": "c",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
在.vscode目录下新建settings.json文件:
// 将设置放入此文件中以覆盖默认值和用户设置。
{
"files.defaultLanguage": "c",
"code-runner.runInTerminal": false,
"code-runner.executorMap": {
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c11 && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c++14 && $dir$fileNameWithoutExt"
}
}
在.vscode目录下新建c_cpp_properties.json文件:
// 目录根据实际修改
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceRoot}",
"C:/TDM-GCC-32/include",
"C:/TDM-GCC-32/lib/gcc/mingw32/5.1.0/include"
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": "",
"path": [
"C:/TDM-GCC-32/include",
"C:/TDM-GCC-32/lib/gcc/mingw32/5.1.0/include"
]
}
}
],
"clang_format": {
"style": "file",
"fallback-style": "LLVM",
"sort-includes": false
}
}
7.在当前目录下新建一个.c文件,在调试面板中测试啦,或直接按F5。
技巧
因为VS需要为每一个文件夹做单独配置,所以建议把.vscode文件夹放到你常用的文件夹的顶层,这样就不用重复配置了。(里面一般有:launch.json,tasks.json,settings.json,c_cpp_properties.json 四个基本的文件用于支持编译输出)
Ctrl + = 或 -(退格键左边)可放大缩小,再把各窗口拉一拉,配合逼格的主题简直完美!
虽然配置了环境变量,仍需要将其中includePath项的路径更改为安装的TDM-GCC的实际路径,这一项是让VSCode识别到C/C++的头文件,不然找不到的时候会报错。
参考文章:
vsc 如何编译c语言,FW:win下轻量级的c语言开发环境配置:vsc + gcc相关推荐
- window下spark的安装和开发环境配置
全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 由于Spark是用Scala来写的,所以Spark对Scala肯定是原生态支持的,因此这里以Scala为主来介绍Spark环境的搭建, ...
- Windows 10 下的OpenVINO Pycharm+Anaconda开发环境配置
配置环境 Windows 10 Anaconda 2.0.4 Pycharm 2021.1 Python 环境 3.6.13 OpenVINO 工具包 2020.2 OpenVINO安装:https: ...
- 轻量级的c语言开发环境搭建,win下轻量级的c语言开发环境配置:vsc + gcc
说明 VSCode是个编辑器,默认不带编译和调试环境,需要自行安装编译器,调试可以用其插件完成. 编译套件选用的是TDM-GCC,方便易用.(Codeblocks.Dev-Cpp等默认带的都是这款). ...
- linux mysql 开发环境_RedHat Linux下QT平台MySQL数据库开发环境配置
This doucment is about how to add MySQL driver into QT and about database connections 由于之前安装RedHat的时 ...
- linux 安装qt mysql库_Linux下QT平台Mysql数据库开发环境配置
This doucment is about how to add mysql driver into QT and about database connections 由于之前安装RedH ...
- Linux下QT平台Mysql数据库开发环境配置
This doucment is about how to add mysql driver into QT and about database connections 由于之前安装RedH ...
- Fortran语言初探及Win7 64位下Fortran开发环境配置
笔者作为一只游走在生态.遥感.GIS与计算机的学生狗,最近终于因缘际会各种巧合下开始学习Fortran.还记得遥感物理课上牛柳两位老师(真是一个折磨萌萌哒台湾腔南方银口音的老师组合)的辐射传输方程.几 ...
- windows下spark开发环境配置
--本篇随笔由同事葛同学提供. windows下spark开发环境配置 特注:windows下开发spark不需要在本地安装hadoop,但是需要winutils.exe.hadoop.dll等文件, ...
- lex编译dos命令_Lex与Yacc学习(一)之环境配置篇
Abstract 在开发程序的过程中经常会遇到文本解析的问题,例如:解析 C 语言源程序,编写 脚本引擎等等,解决这种文本解析的方法有很多,一种方法就是自己手动用 C 或者 C++直接编写解析程序,这 ...
最新文章
- 独家 | 一文带你上手卷积神经网络实战(附数据集学习资料)
- 信息管理代码分析二读取二进制文件数据
- android setinputtype光标,Android屏蔽软键盘并且显示光标的实例详解
- linux kernel的spin_lock的详细介绍(以arm64为例)
- ref与out一看就懂
- php提交多条数据,tpphp一个表单提交多个需要循环的数据怎么处理
- Python3+PyCharm+selenium3 环境搭建
- [JDK 11] jcmd中的类加载器层次结构详细信息
- linux make使用技巧
- 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(六)(应用IOC模式)...
- java web开发中会遇到的异步执行方案
- 工作分析文献综述_学术知识| 如何撰写文献综述
- 新概念模拟电路简介及section5笔记
- w7系统怎么ping服务器,win7系统中如何ping端口命令
- C语言基础知识快速入门(全面)
- 微信公众号如何推广自己的小程序以及操作步骤
- 利用科来数据包播放器实现网络数据回放
- Pygame小游戏:玩扫雷就在瞎点的,不止你一个人。
- android killer java_android killer无法查看java源代码的解决方法
- 第十七届“振兴杯”全国青年 职业技能大赛——计算机程序设计员(云计算平台与运维)参赛回顾与总结
热门文章
- 【洛谷习题】Likecloud-吃、吃、吃
- praat对音频文件进行标注
- iOS开发键盘设置,IOS7深灰色键盘
- 单页面应用和多页面应用
- 简单工厂设计模式与工厂设计模式
- 家居家纺行业的进销存软件怎么选择,门店管理系统选择
- 一个C类地址192.168.1.0划分5个子网,每个子网至少要容纳30台主机,如何规划?...
- 乐鑫ESP-IDF开发环境搭建之2022新版
- 对象.和对象[]有什么区别
- 铅酸蓄电池三阶simulink仿真模型,可获得蓄电池充放电特性,并提供数学模型相关文献和多组电池模型参数。