【发布时间】:2017-08-06 07:57:06
【问题描述】:
编译下面的C代码时编译失败,抛出杂散字符错误:
#include "stdio.h"
int main(int argc, char *argv[]) {
int count;
printf("The command line has %d arguments:\n", argc - 1);
for(count = 1; count < argc; count++) {
printf("%d: %s\n", count, argv[count]);
}
printf("\n");
return 0;
}
编译器:gcc 5.4.0 20160609 Ubuntu 16.04.3
错误截图:here
顺便说一句,其他C文件(如“hello world”)也可以编译成功。
【问题讨论】:
-
您的代码没有错误。您在 wsl 上看到什么错误? (假设 Ubuntu 默认安装)您使用的是
gcc -Wall -Wextra -O3 -std=gnu11 -o nameforexe nameofsource.c之类的东西吗?标准a.out的最小编译为gcc -Wall -Wextra filename.c -
根据链接中显示的错误,您的程序文件中似乎包含非 ASCII 字节(似乎某些空白字符不是 ASCII 空格或制表符)。使用程序员的文本编辑器来构建您的源文件 - 不要使用像 Microsoft Word 这样的文字处理器。
标签: c windows-subsystem-for-linux