关于VScode中 插件C/C++ Compile Run的一些问题【ERROR compiling C/C++ Compile Run的配置中多了一个空格】

发布时间:2024年01月17日

1.前言:关于Vscode中有很多插件,可以用于编译C或者C++

除了C/C++插件外 还有C/C++ Compile Run 。
但是目前C/C++ Compile Run 是不能多文件编译的,仅仅可以进行单文件编译运行。C/C++修改tasks.json文件是可以达到多文件编译的。【我个人是没有找到他多文件编译的方法,他应该都是封装好的,能修改的只有插件设置里那几个部分】
但是C/C++ Compile Run有他的好处,他不用配置tasks.json。 只要下载之后就可以直接运行,当然他也可以进行配置,在插件设置里面。并且C/C++中tasks.json的配置是不会影响到C/C++ Compile Run
由于之前修改过C/C++ Compile Run 的配置来尝试进行多文件编译失败了。但是也动了原来的配置,导致今天编译C++文件的时候,出现失败



2.解决问题:出现问题要学会看下面的输出内容。[授人以鱼不如授人以渔]

众所周知,程序的生命周期主要包括四个阶段:编写、编译、链接和运行。

在这里插入图片描述

让我们看看,右下角说ERROR compiling! 说明问题出现在了第二步骤

在确认我们编写的确实没问题之后。
细心的读者可能会发现了,

在这里插入图片描述

在编译的时候多了一个

 ‘’
没错是他,是他,是他,就是他,我们的盆友小空格。

再查看插件配置

在这里插入图片描述

【注:C是 C语言, Cpp是C++语言】

在很不经意处发现多了一个空格。删除了这个空格,则恢复正常!

一个很简单的小错误,只要细心的查看终端就可以发现

另:通常,退出状态码为 0 表示程序成功执行,而其他非零值通常表示程序执行过程中出现了错误或异常情况。在你的情况下,退出代码为 1,表明程序可能在执行过程中遇到了某种问题或错误。

输出的信息:(与上面截图内容一致)
 正在执行任务: G:\mingw64\mingw64\bin\g++.exe -Wall -Wextra -g3  -fexec-charset=GBK c:\Users\Dell\Desktop\code\C-project\Mr_LI_88888\111.cpp -o c:\Users\Dell\Desktop\code\C-project\Mr_LI_88888\output\111.exe 

g++.exe: error: : No such file or directory

 *  终端进程“G:\mingw64\mingw64\bin\g++.exe '-Wall', '-Wextra', '-g3', '', '-fexec-charset=GBK', 'c:\Users\Dell\Desktop\code\C-project\Mr_LI_88888\111.cpp', '-o', 'c:\Users\Dell\Desktop\code\C-project\Mr_LI_88888\output\111.exe'”已终止,退出代码: 1。 
 *  终端将被任务重用,按任意键关闭。 




补充知识:

编写: 程序的编写阶段是开发人员根据需求和设计规范,使用编程语言撰写源代码的过程。这是程序的初始创建阶段。
编译: 编译是将源代码转换为机器可执行代码的过程。在这个阶段,编译器检查源代码的语法和语义,生成中间代码,然后将其转换为目标平台的机器码或可执行文件。编译过程的输出通常是一个二进制可执行文件。【xxx.exe】
链接: 链接是将程序的各个模块组合成一个完整的可执行文件的过程。在这个阶段,链接器将编译生成的目标文件、库文件和其他依赖项结合在一起,创建最终的可执行文件。链接过程可以静态链接或动态链接。
运行: 运行是将可执行文件加载到计算机内存中并执行的过程。在运行阶段,操作系统分配内存、初始化程序,并按照指令执行程序。程序的输出或结果会在这个阶段产生。
此外,还有一些其他的活动和阶段,包括:
调试: 在程序生命周期中,调试是一个重要的活动。它涉及在程序中查找和修复错误,以确保程序按照预期工作。
测试: 测试是验证程序的正确性和性能的过程。它可以包括单元测试、集成测试和系统测试等。
部署: 部署是将程序部署到目标环境中的过程。这可能涉及将可执行文件传输到服务器、安装软件包或发布应用程序到应用商店等。
文章来源:https://blog.csdn.net/qq_42764906/article/details/135647563
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。