【问题标题】:"Too many arguments" error while running C program on VS Code在 VS Code 上运行 C 程序时出现“参数过多”错误
【发布时间】:2021-04-19 05:06:29
【问题描述】:

这是我要运行的程序:

#include <stdio.h>

int main(){
    printf("Helloworld!");
    return 0;
}

这是我得到的错误:

我真的不知道为什么会这样。一个月前它工作得很好。每当我在 VSCode 上运行并单击“开始调试”时,这就是我得到的:

请帮忙。

【问题讨论】:

  • 不完全是您问题的解决方案,但考虑使用 CMake 项目并使用“打开文件夹”在 VSCode 中打开它。
  • bash 是否理解 c:\XXXX 路径

标签: c++ c visual-studio-code mingw settings


【解决方案1】:

问题在于控制台命令行,而不是 c 代码。正如@molbdnilo 所建议的,反斜杠是 bash 中的转义字符。特别是,文件路径中的最后一个反斜杠转义了引号字符,这意味着cd 命令没有终止。您可以使用双反斜杠(以转义反斜杠)和/或删除路径中的最后一个反斜杠。在 bash 中,您还可以使用正斜杠来分隔路径中的元素以避免此问题。

【讨论】:

  • &amp;&amp; 很好,因为如果出现错误它不会执行下一个命令。这种情况下的问题是实际上只有一个命令; cd.
【解决方案2】:

正如 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

【讨论】:

    【解决方案3】:

    如前所述,问题出在命令行,而不是代码中。

    但是,问题不在于 g++ 或 &amp;&amp;(这很好,也不错,因为它会在出现错误时停止),而在于目录末尾的反斜杠。 与 Windows 中的 cmd 不同,bash 将 \" 解释为文字 ",而不是反斜杠后跟字符串分隔符。
    这意味着cd 获得了两个参数

    C:\Users\...\Desktop" && gcc hello.c -o hello &&
    

    C:\Users\...\Desktop"hello
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-30
      • 2013-09-13
      相关资源
      最近更新 更多