首先,我的问题与此类似:Ubuntu says "bash: ./program Permission denied"
但是,我觉得有必要进一步澄清。
当我使用以下程序编译程序时
gcc -c file.c -o file
并运行
./file
我收到此错误:
bash:./file: Permission denied
当我使用
时chmod u+x file
然后运行
./file
我收到此错误:
bash: ./file: cannot execute binary file: Exec format error
然而,当我使用
进行编译时gcc file.c -o file <br/>
我的程序使用
完美运行./file
有人可以指出在-c
中使用gcc
参数有什么问题吗?
答案 0 :(得分:3)
输入gcc --help
以查看帮助。
-c Only run preprocess, compile, and assemble steps
这意味着,使用此选项运行时,GCC不会链接可执行文件与任何(甚至系统)库。
简而言之,要运行程序,操作系统需要一个起始点,它位于某个系统库中。因为在你的情况下,GCC没有将可执行文件与任何链接,操作系统不知道如何运行文件,从哪里开始。