轻量级的c语言开发环境搭建,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++的头文件,不然找不到的时候会报错。
参考文章:
内容来源于网络如有侵权请私信删除
轻量级的c语言开发环境搭建,win下轻量级的c语言开发环境配置:vsc + gcc相关推荐
- 基于WSL2和Clion搭建Win下C开发环境
系列文章目录 一.基于WSL2和Clion搭建Win下C开发环境 二.make.makeFile.CMake.CMakeLists的使用 三.全面.详细.通俗易懂的C语言语法和标准库 文章目录 系列文 ...
- Scons环境搭建和编译原理概述及嵌入式开发常用模板
Scons环境搭建和编译原理概述及嵌入式开发常用模板 Scons是用python实现的一个类似makefile的软件构建工具.其官网是SCons: A software construction to ...
- pyqt(一)pyqt环境搭建 win+mac(pycharm+designer)
前言 出于某些原因突然想学习下gui界面的制作,自己是已python作为自己的主语言,所以本次选择了python3+pycharm+designer来做gui界面的学习.学习过程中自己因为某些原因在w ...
- OpenStack环境搭建(二:Fuel Master的安装及配置)
实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...
- OpenStack环境搭建(一:Virtual Box 5.1 环境的安装及配置)
实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...
- ESXi6.5环境搭建(一:VMware Workstations 12 Pro 环境的安装及配置)
实验目的及要求 完成VMware workstations安装,会应用相关操作: 完成虚拟机中ESXI6.5平台的安装及网络环境配置: 完成VMware vSphere Client 6.0软件在PC ...
- springcloud学习笔记---环境搭建--Linux下jdk安装
springcloud学习笔记-环境搭建–Linux下jdk安装 1.官网下载jdk1.11 链接: https://pan.baidu.com/s/1vZ4PoJAnwczkRICfCNKHAA 提 ...
- vsc 如何编译c语言,FW:win下轻量级的c语言开发环境配置:vsc + gcc
说明 VSCode是个编辑器,默认不带编译和调试环境,需要自行安装编译器,调试可以用其插件完成. 编译套件选用的是TDM-GCC,方便易用.(Codeblocks.Dev-Cpp等默认带的都是这款). ...
- linux php环境搭建_PHP-小程序:(1)开发环境搭建
很久之前就有计划搭建个私人用的听书小程序,利用周末时间,也零零散散的做了些准备,比如php.小程序.redis.linux相关知识的学习等,也记录了一些学习心得到今日头条,但都比较零散,不够系统清晰. ...
最新文章
- python编码问题无法复现_Python编码问题详解
- [na][tools]快速ping网段工具-QuickPing
- RAC Concept
- 人类资产数字化是大势所趋
- ASP.NET Core 认证与授权[7]:动态授权
- 服务器select与gevent
- postgresql 插入 时间戳_数据也玩躲猫猫?PostgreSQL中别人提交的数据,我为什么看不到?...
- python基础学习_转行零基础该如何学习python?很庆幸,三年前的我选对了
- php 事件调度,PHP单元测试调度事件
- git status
- bind() 理解 【转】
- c语言按位取反 补码,按位取反运算符,数值取反之后是反码,还是补码- -
- 11.history命令历史
- Airsim动态 | ROS教程(AirSim ROS Tutorial)
- 智慧体检中心管理系统降低管理成本提高管理效率
- 银河帝国----基地
- linux 下 gcc编译程序时,-I(大写i) 与-L(大写l)-l(小写l) 的作用
- 古文摘抄(持续不定时更新)
- Zoj 3587 Marlon's String (KMP 字符串拼接 前缀出现次数)
- matlab guide图像处理实例,现代数字图像处理技术提高及应用案例详解 MATLAB版-教科书.pdf...
热门文章
- html5音轨字幕,(图解)如何修改mkv默认音轨和字幕
- 八字喜用神php源码,免费查八字喜用神的软件 通关用神
- html不支持png%3e,关于Adobe Flash CS3无法导入png格式图片的修复方法(真正解决问题)...
- 即插即用 | S-FPN全新的金字塔网络,更适合轻量化模型的FPN
- Python实现RGB和Lab颜色空间互转
- yolov5 tensorrt
- with error 126:找不到指定的模块
- c++ django上传图片
- Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV
- Deep Learning(深度学习)学习笔记整理系列之(二)