我使用 makefile 生成文件。 gcc -c hello.c -o 你好 并通过以下方式修复了权限问题: chmod a+x ./你好 但是,当我想执行“hello”文件时。 ./你好 系统告诉我“无法执行二进制文件” 有人能帮我吗?我非常期待您的回复。
最佳答案
gcc 的 -c 参数生成一个目标文件,您稍后必须链接该文件才能生成可执行文件。您不能执行您生成的目标文件。
相反,同时编译和链接,适用于只有 1 个 .c 文件的情况
gcc hello.c -o hello
或者如果你想把它分解成单独的编译和链接步骤,做
gcc -c hello.c -o hello.o
gcc hello.o -o hello
关于无法在 MAC 终端上执行二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52098129/