我正在尝试在我的新 virtualBox 上使用 FreeBSD 操作系统编译一些 C 程序。
我已经安装了gcc48。
我正在尝试编译这个基本程序(另存为 hello.c):
#!/usr/local/bin/
#include <stdio.h>
main()
{
printf("Hello");
}
我正在终端中运行以下命令:
gcc48 -c hello.c -o hi
输入此命令后,出现以下错误:
hello.c:1:2: error: invalid preprocessing directive #!
#!/usr/local/bin/
^
我已通过执行以下命令确认 bash 目录位于正确的位置:
find /* -iname "bash"
结果如下:
/usr/local/share/doc/bash
/usr/local/bin/bash
/usr/ports/shells/bash
因此,我不明白为什么会收到无效的预处理指令错误...
附注:
如果我删除#!行并编译,编译成功,并输出名为“hi”的文件
但是,如果我尝试使用 ./hi 运行此文件 - 我会收到以下错误:
./hi: Exec format error. Binary file not executable.
有人可以帮我解决这个问题吗?
谢谢
最佳答案
删除这一行:
#!/usr/local/bin/
这是用于 shell 脚本而不是 c
关于c - 无法使用 gcc48 编译我的 C 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33204271/