ubuntu,意外标记“(”附近的语法错误

ubuntu,意外标记“(”附近的语法错误

我想在虚拟机上的 ubuntu 18.04 上运行 ac 程序,但出现此错误:

./test.c: line 3: syntax error near unexpected token `('
./test.c: line 3: `void main(int argc, char** argv)'

我编译并运行该文件如下:

gcc -o test test.c
./test.c

我使用以下命令授予该文件夹的权限:

sudo chmod a+rwx

我在网上搜索过,我所知道的是 ( 是 shell/终端中的特殊字符,但是当我编写代码时我无法理解/找到一种不出现错误的使用它的方法。

有人可以帮我解决这个问题吗?

答案1

后面的gcc -o test test.c 标志 是实际可执行文件的名称,因此您需要运行。当您执行此操作时,shell 将尝试将您的 C 源代码(只是文本文件)读取为 shell 脚本,并根据当前 shell 的语法执行它(即,shell 尝试将其读取为 shell 脚本,而不是编译后的 C 代码)。test-o./test./test.c

另外,请不要将其用作test可执行文件的名称。已经有了/usr/bin/test,这可能会导致以后的混淆。总的来说,将系统可执行文件名称用于个人程序只是一种不好的做法

相关内容