这是我的 C 代码:
#include <stdio.h>
void print_hello() {
printf("Hello n10321234, welcome to BSB211");
}
int main() {
print_hello();
return 0;
}
但是,当我编译并运行可执行文件时,我不断收到以下错误。
./print_hello: line 3: syntax error near unexpected token ('
./print_hello: line 3: `void print_hello(){'
对于编译,我使用gcc print_hello.c -o print_hello
;对于运行,我使用./print_hello
。
答案1
您可能正在尝试“执行”源代码而不是 C 编译器和链接器生成的二进制文件。
请:
转到包含 C 程序的目录。
移除文件打印你好使用命令:
rm -f print_hello
。更正权限打印_hello.c使用命令的文件:
chmod 640 print_hello.c
运行命令:
gcc print_hello.c -o print_hello
并确保它确实不是输出任何错误消息。通过检查命令的输出确保在当前目录中创建了新的可执行文件:
file print_hello
。使用以下命令运行新的可执行文件:
./print_hello
。
注意:编辑(更改)源代码后,只需重新运行步骤 4 和 6。
答案2
很可能您的源代码是在非 Unix 环境中编写或编辑的,并且您尝试在 Ubuntu 中编译它。
错误消息“意外标记‘(’附近的语法错误”出现在 Unix 类型环境、Cygwin 以及 Windows 中的命令行界面中。当您尝试运行在旧版 DOS/Windows 或 Mac 系统中编辑或创建的 shell 脚本时,最有可能触发此错误。
在这种情况下你可以使用dos2unix工具来转换它。
dos2unix yoursourcecode.c
更多信息:https://appuals.com/fix-syntax-error-near-unexpected-token/