我使用了makefile来生成文件。 gcc -c hello.c -o hello 并通过以下方式解决了许可问题: chmod a + x。/您好 但是,当我要执行“ hello”文件时。 ./你好 系统告诉我“无法执行二进制文件” 有人能帮我吗?我很期待您的答复。
答案 0 :(得分:6)
gcc的-c参数生成一个目标文件,稍后您必须链接该目标文件以生成可执行文件。您无法执行生成的目标文件。
相反,要同时编译和链接(适合只有1个.c文件的情况),请执行
gcc hello.c -o hello
或者如果您想将其分解成单独的编译和链接步骤,请执行
gcc -c hello.c -o hello.o
gcc hello.o -o hello
答案 1 :(得分:1)
检查GCC编译器是否正确安装在您的系统中。
gcc -v
编译文件:
gcc filename.cpp -o any-name
运行程序:
./any-name
答案 2 :(得分:0)
除了可以同时编译和链接之外,还可以使用make
:
make hello
注意:不带.c
扩展名。
终端输出应为:
cc hello.c -o hello