下面是我要运行的程序:
#include <stdio.h> int main(){ printf("Helloworld!"); return 0; }
下面是我得到的错误:
我真的不知道为什么会发生这种情况。一个月前它还工作得很好。每当我在VSCode上运行并单击“开始调试”时,我得到的是:
请帮帮忙。
u91tlkcl1#
问题出在控制台命令行,而不是c代码。正如@molbdnilo所建议的,反斜杠是bash中的转义字符。特别是,文件路径中的最后一个反斜杠转义了引号字符,这意味着cd命令没有终止。在bash中,你也可以使用正斜杠来分隔路径中的元素,以避免这个问题。
cd
ffscu2ro2#
如Ezward所述,问题出在bash命令上。假设您的桌面上有一个名为“a.cpp”的文件。在同一目录下打开终端,即桌面,然后尝试以下命令:
g++ -o objectFileName sourceFileName
例如,在本例中,请用途:
g++ -o a a.cpp
此命令将为您的a.cpp文件生成一个名为“a”的对象/可执行文件。现在要运行该文件,请输入以下命令:
./objectFileName
在这种情况下,将是:
./a
这将运行您的代码,您将看到它的输出。注意:我假设你在linux/ubuntu中使用的是基于g的编译器。如果不是,请在谷歌上搜索一下如何安装g编译器。我希望这个链接对你有所帮助:https://askubuntu.com/questions/481807/how-to-install-g-in-ubuntu-14-04
aiazj4mn3#
如前所述,问题出在命令行,而不是代码。然而,问题并不出在g++或&&(这是好的,也不是坏的,因为它在出现错误时停止),而是出在目录末尾的反斜杠上。与Windows中的cmd不同,bash将\"解释为文字",而不是反斜杠后面跟着字符串分隔符。这意味着cd获得 * 两个 * 参数
&&
\"
"
C:\Users\...\Desktop" && gcc hello.c -o hello &&
和
C:\Users\...\Desktop"hello
aemubtdh4#
将默认配置文件(Shell)设置为CMD可解决此问题。〉_〈
hpcdzsge5#
只需将终端更改为Windows PowerShell1.按CTRL+SHIFT+P组合键1.搜索“终端:选择默认配置文件”(以前的“终端:选择默认 shell ”)1.选择您的首选shell。在我的示例中,我选择了“Windows PowerShell”
5条答案
按热度按时间u91tlkcl1#
问题出在控制台命令行,而不是c代码。正如@molbdnilo所建议的,反斜杠是bash中的转义字符。特别是,文件路径中的最后一个反斜杠转义了引号字符,这意味着
cd
命令没有终止。在bash中,你也可以使用正斜杠来分隔路径中的元素,以避免这个问题。ffscu2ro2#
如Ezward所述,问题出在bash命令上。假设您的桌面上有一个名为“a.cpp”的文件。在同一目录下打开终端,即桌面,然后尝试以下命令:
例如,在本例中,请用途:
此命令将为您的a.cpp文件生成一个名为“a”的对象/可执行文件。现在要运行该文件,请输入以下命令:
在这种情况下,将是:
这将运行您的代码,您将看到它的输出。
注意:我假设你在linux/ubuntu中使用的是基于g的编译器。如果不是,请在谷歌上搜索一下如何安装g编译器。我希望这个链接对你有所帮助:
https://askubuntu.com/questions/481807/how-to-install-g-in-ubuntu-14-04
aiazj4mn3#
如前所述,问题出在命令行,而不是代码。
然而,问题并不出在g++或
&&
(这是好的,也不是坏的,因为它在出现错误时停止),而是出在目录末尾的反斜杠上。与Windows中的cmd不同,bash将\"
解释为文字"
,而不是反斜杠后面跟着字符串分隔符。这意味着
cd
获得 * 两个 * 参数和
aemubtdh4#
将默认配置文件(Shell)设置为CMD可解决此问题。〉_〈
hpcdzsge5#
只需将终端更改为Windows PowerShell
1.按CTRL+SHIFT+P组合键
1.搜索“终端:选择默认配置文件”(以前的“终端:选择默认 shell ”)
1.选择您的首选shell。在我的示例中,我选择了“Windows PowerShell”