vscode配置c语言编译环境

vscode配置c语言编译环境

一、下载mingw-w64 gcc-8.1.0编译器(本文安装 x86_64-win32-seh)

46f65de0b5faca4371856af7814b5d7.png

二、环境配置

打开你的mingw-w64安装目录,我是默认安装的在C:Program Files (x86),里面的MinGW-W64就是安装的编译器了,将里面的bin文件夹加入路径,我的就是C:Program Files (x86)mingw64in,将这个加入路径即可。

路径加入方法:

立即学习“C语言免费学习笔记(深入)”;

319d19437772789ebd2e528bdf9a127.png

加入后,建议重启一下电脑。

三、安装VSCode cpp相关的插件

c++插件

7e302a8cf73a096e2816dada096bed3.png

重启vscode软件。

四、配置c++的.vscode文件

在你写代码的地方新建文件夹并在里面新建一个文件夹,然后在文件夹里面创建一个.vscode文件夹

af484c7fbae7ca478fee0f70472cb31.png

然后在.vscode文件夹里面创建如上图所示的四个文件,文件名如下:

c_cpp_properties.json
launch.json
tasks.json

请根据安装的位置来修改文件路径(如果跟我一样可以不要修改)

ViiTor实时翻译 ViiTor实时翻译

AI实时多语言翻译专家!强大的语音识别、AR翻译功能。

ViiTor实时翻译 116 查看详情 ViiTor实时翻译

launch.json

{    "version": "0.2.0",    "configurations": [        {            "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示            "type": "cppdbg", // 配置类型,这里只能为cppdbg            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)            "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径            "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false            "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 workspaceRoot已被弃用,现改为workspaceFolder            "environment": [],            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台            "MIMode": "gdb",            "miDebuggerPath": "C:/Program Files (x86)/mingw64/bin/gdb.exe",             // miDebugger的路径,注意这里要与MinGw的路径对应            "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc            "setupCommands": [                {                    "description": "Enable pretty-printing for gdb",                    "text": "-enable-pretty-printing",                    "ignoreFailures": false                }            ]        }    ]}

tasks.json

如果遇到找不到文件 比如这样:

45b3465fa146db60f60799656bd91cf.png

把 “${workspaceFolder}”替换为 “”或 “//”

{    "version": "2.0.0",    "command": "g++",    "args": [        "-g",        "${file}",        "-o",        "${fileBasenameNoExtension}.exe"    ], // 编译命令参数    "problemMatcher": {        "owner": "cpp",        "fileLocation": [            "relative",            "${workspaceFolder}"        ],        "pattern": {            "regexp": "^(.*):(d+):(d+):s+(warning|error):s+(.*)$",            "file": 1,            "line": 2,            "column": 3,            "severity": 4,            "message": 5        }    }}

c_cpp_properties.json

“includepath”设置问题 路径获取获取方法为:cmd——》gcc -v -E -x c++ –

68946cd3f3b0ca0dd825499985b3eb5.png

如果第一种出错请使用第二种

{    "configurations": [        {            "name": "Win32",            "includePath": [                "${workspaceRoot}",                "C:/Program Files (x86)/mingw64/include/**",                "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++","C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",                "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",                "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",                "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed","C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"            ],            "defines": [                "_DEBUG",                "UNICODE",                "__GNUC__=6",                "__cdecl=__attribute__((__cdecl__))"            ],            "intelliSenseMode": "msvc-x64",            "browse": {                "limitSymbolsToIncludedHeaders": true,                "databaseFilename": "",                "path": [                    "${workspaceRoot}",                    "C:/Program Files (x86)/mingw64/include/**",                    "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++","C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",                    "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",                    "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",                    "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed","C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"                ]            }        }    ],    "version": 4}

第二种

{    "configurations": [        {            "name": "Win32",            "includePath": [                "C:/Program Files (x86)/mingw64/include/**",                "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++","C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",                "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",                "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",                "C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed","C:/Program Files (x86)/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"            ],            "browse": {                "limitSymbolsToIncludedHeaders": true,                "databaseFilename": ""            }        }    ],    "version": 4}

五、配置c语言的.vscode文件

在你写代码的地方新建文件夹和里面新建一个文件夹,然后在文件夹里面创建一个.vscode文件夹

03e2cfc19167c409b1193cb4f506137.png

然后在.vscode文件夹里面创建如上图所示的四个文件,文件名如下
launch.json
tasks.jsonlaunch.json

{    "version": "0.2.0",    "configurations": [        {            "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示            "type": "cppdbg", // 配置类型,这里只能为cppdbg            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)            "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径            "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false            "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 workspaceRoot已被弃用,现改为workspaceFolder            "environment": [],            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台            "MIMode": "gdb",            "miDebuggerPath": "C:/Program Files (x86)/mingw64/bin/gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应            "preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc            "setupCommands": [                {                    "description": "Enable pretty-printing for gdb",                    "text": "-enable-pretty-printing",                    "ignoreFailures": false                }            ]        }    ]}

tasks.json

{    "version": "2.0.0",    "command": "gcc",    "args": [        "-g",        "${file}",        "-o",        "${fileBasenameNoExtension}.exe"    ]}

相关文章教程推荐:vscode教程

以上就是vscode配置c语言编译环境的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/511600.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月9日 01:02:42
下一篇 2025年11月9日 01:06:01

相关推荐

  • PHP如何获取系统调用日志 系统调用日志获取技巧监控程序行为

    获取php应用的系统调用日志并非php本身直接完成,需借助操作系统工具与机制。1. 使用strace监控php进程:先通过ps aux | grep php找到pid,再执行strace -p 跟踪系统调用,并可将输出重定向至文件进行后续分析。2. 通过编写php扩展(如c语言结合ptrace)实现…

    2025年12月10日 好文分享
    000
  • PHP如何获取PCI设备信息 读取PCI设备的4个实用技巧

    php无法直接读取pci设备信息,因其为服务器端脚本语言,需通过调用系统工具实现。1. 在linux中可使用exec(‘lspci’)并解析输出;2. windows下可通过exec(‘wmic’)获取设备信息;3. 可开发c扩展以提高安全性和性能;4…

    2025年12月10日 好文分享
    000
  • PHP如何获取内核崩溃日志 内核崩溃日志获取教程

    要获取php内核崩溃日志,1)检查操作系统日志:linux系统查看/var/log/syslog或/var/log/messages并用grep php过滤;windows系统使用事件查看器查找应用程序或系统日志。2)启用并检查php错误日志:在php.ini中设置error_log路径并确保dis…

    2025年12月10日 好文分享
    000
  • PHP如何获取RAID重建进度 RAID重建进度监控技巧维护磁盘阵列

    raid重建进度获取是通过系统命令或工具监控数据恢复状态。php需调用shell_exec()、exec()等函数执行命令并解析输出,具体步骤为:1.确定raid类型和操作系统,选择对应命令如mdadm或storcli;2.执行系统命令并确保php有权限运行;3.解析输出提取进度信息,常用正则表达式…

    2025年12月10日 好文分享
    000
  • PHP中echo和print的输出有何差异

    php中echo和print的主要区别在于1.echo可输出多个值,print只能输出一个;2.echo是语言构造器,print是函数;3.print有返回值(总是1),而echo无返回值;4.echo性能略优但差异不大;5.echo使用更灵活,可带或不带括号,print建议带括号。此外,echo不…

    2025年12月10日 好文分享
    000
  • PHP如何获取USB设备列表 读取USB设备的5个实用方法

    要获取php中的usb设备列表,可通过5种方法实现:①调用系统命令并使用php执行(如linux的lsusb、windows的wmic),依赖操作系统且需解析输出;②使用php扩展(如php-usb),专业但部署复杂;③编写c扩展,灵活高效但开发难度高;④结合javascript的webusb ap…

    2025年12月10日 好文分享
    000
  • PHP怎样解析YAML配置文件 解析YAML文件的3种实用方法

    解析yaml配置文件在 使用示例: getMessage());}?> 这个例子展示了如何使用Yaml::parseFile()方法从文件中读取YAML数据,并将其解析为PHP数组。如果YAML文件格式有误,会抛出ParseException异常,你可以捕获这个异常并进行相应的处理。 优点: …

    好文分享 2025年12月10日
    000
  • PHP中的Redis集成:如何使用Redis作为PHP缓存系统

    在php项目中使用redis缓存可提升性能和响应速度。首先安装redis服务及php扩展(推荐phpredis),然后通过connect方法连接。基本操作包括设置set、获取get和删除del缓存项,例如缓存文章内容时先检查是否存在,若无则获取并设置带过期时间的缓存。1.redis支持复杂结构如哈希…

    2025年12月10日
    000
  • PHP中的数组操作:如何在PHP中高效操作数组数据

    在php开发中,高效数组操作技巧包括使用array_filter过滤元素、注意合并数组的键冲突、用array_map转换字段以及善用内置函数提升效率。1. 使用array_filter可根据条件筛选数组元素,如选出年龄大于30的用户;2. 合并数组时,array_merge会覆盖相同键,而“+”运算…

    2025年12月10日
    000
  • PHP中的扩展开发:如何为PHP编写自定义扩展

    你需要写#%#$#%@%@%$#%$#%#%#$%@_6980d9f27683a2e8e9d1949422d9f8c++e的原因包括提升性能、封装c/c++库、隐藏商业逻辑以及深入理解php内核。步骤如下:1. 安装php源码及编译工具;2. 使用ext_skel生成扩展骨架;3. 在myext.c…

    2025年12月10日
    000
  • PHP中array_replace怎么替换元素?

    php中的array_replace函数用于替换数组中的元素。1)它接受一个目标数组和一个或多个替换数组作为参数。2)替换数组中的键值对会替换或添加到目标数组中。3)对于多维数组,它不会递归替换子数组中的元素。4)使用时需确保传入的参数是数组,以避免警告。5)在大型数组中使用时需考虑性能和内存使用。…

    2025年12月10日
    000
  • php是后端语言吗 深入解析php的语言属性和应用领域

    php是后端语言。php是一种广泛用于服务器端脚本的编程语言,核心功能在后端,主要用于动态网页和数据库交互。其语言属性包括解释型、动态类型和简单易学的语法,应用领域涵盖动态网站、api开发和服务器任务处理。 PHP是后端语言吗?绝对是。PHP(Hypertext Preprocessor)是一种广泛…

    2025年12月10日
    000
  • PHP中如何优化内存使用?

    在php中优化内存使用的方法包括:1) 使用引用而不是拷贝,2) 及时释放不再需要的资源,3) 使用生成器处理大型数据集,4) 避免使用全局变量,5) 优化字符串操作,6) 使用apc或opcache缓存机制。这些策略能有效提升php应用的内存管理和整体性能。 在PHP中优化内存使用是一项关键技能,…

    2025年12月10日
    000
  • 什么叫php语言 php语言的定义和特点介绍

    php是一种广泛应用于web开发的服务器端脚本语言。它的特点包括:1.语法简单易学,类似c语言和perl;2.与web服务器无缝集成,适合快速开发;3.跨平台性强,适用于windows、linux和macos。 PHP语言的定义和特点介绍 如果你问我什么是PHP,我会告诉你,PHP是一种广泛应用于W…

    2025年12月10日
    000
  • PHP中如何格式化字符串?

    php中格式化字符串的方法包括:1. 使用printf和sprintf函数,printf直接输出,sprintf返回字符串。2. 使用number_format函数格式化数字。3. 使用字符串插值方法。选择合适的方法能提高代码质量和可维护性。 PHP中如何格式化字符串?这个问题看似简单,实则蕴含着不…

    2025年12月10日
    000
  • PHP中array_search怎么查找值?

    array_search在php中用于在数组中查找特定值,返回该值的键或false。使用时注意:1) 严格比较返回值,避免0被误判为false;2) 只返回第一个匹配项;3) 对复杂类型比较可能不理想;4) 对于复杂查找,可用array_filter等函数;5) 性能上,考虑大数组时可使用splfi…

    2025年12月10日
    000
  • ​GD库与ImageMagick扩展在PHP8.0中的性能对比

    在php8.0中,gd库和imagemagick的性能表现各有优劣:1) gd库适合快速处理简单的图像操作,性能稳定,资源消耗低;2) imagemagick适合复杂的图像处理,功能强大但资源消耗高。选择时需根据具体需求决定。 引言 在PHP8.0中,图像处理是许多Web应用的核心功能,GD库和Im…

    2025年12月10日
    000
  • PHP中如何比较字符串?

    在php中比较字符串可以使用==、===、strcmp()、strcasecmp()和哈希比较方法。1)==运算符进行基本比较,但可能类型转换。2)===运算符进行严格比较,不转换类型。3)strcmp()函数比较字典顺序,strcasecmp()忽略大小写。4)使用哈希函数如md5()可优化大量比…

    2025年12月10日
    000
  • PHP中array_fill_keys怎么填充键名数组?

    array_fill_keys函数在php中用于创建并填充键名数组。1)创建键名数组:$keys = [‘a’, ‘b’, ‘c’];$value = ‘default’;$result = array_…

    2025年12月10日
    000
  • ​PHP8.0扩展兼容性检测工具推荐(附脚本)​

    php8.0扩展兼容性检测工具推荐phpcompatibility和phpstan。1.phpcompatibility使用php_codesniffer,适合快速检测。2.phpstan提供详细分析和自动修复,适合深入检查。 引言 在PHP8.0发布后,许多开发者面临着一个棘手的问题:如何确保现有…

    2025年12月10日
    000

发表回复

登录后才能评论
关注微信