我用makefile生成了文件。 gcc -c hello.c -o hello 然后通过以下方式解决权限问题: chmod a+x ./hello 但是,当我想执行“hello”文件时, ./hello 系统告诉我“无法执行二进制文件” 有人可以帮我吗?我非常期待您的回复。
使用gcc的-c参数会生成一个目标文件,但这个文件无法被直接执行,需要链接后才能生成可执行文件。
如果你只有一个.c文件,可以同时编译和链接,做法如下:
gcc hello.c -o hello
如果您想将其拆分为单独的编译和链接步骤,请执行以下操作:
gcc -c hello.c -o hello.o
gcc hello.o -o hello
检查你的系统中是否正确安装了GCC编译器。
gcc -v
编译您的文件:
gcc filename.cpp -o any-name
运行您的程序:
./any-name
make
。make hello
注意:不要带上 .c
扩展名。
终端输出应为:
cc hello.c -o hello
file ./hello
的内容吗? - undefined