![当我尝试运行使用 GNU 汇编器汇编的程序时,权限被拒绝](https://linux22.com/image/77432/%E5%BD%93%E6%88%91%E5%B0%9D%E8%AF%95%E8%BF%90%E8%A1%8C%E4%BD%BF%E7%94%A8%20GNU%20%E6%B1%87%E7%BC%96%E5%99%A8%E6%B1%87%E7%BC%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%97%B6%EF%BC%8C%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D.png)
我正在使用 gcc 生成的中间代码测试 GNU 汇编器。我根本不理解 GNU 汇编语法,尽管我可以在某个时候学习它。我运行了命令as hello.s
,然后as hello.s -o hello
。当我运行可执行文件时,它显示“权限被拒绝”。即使当我尝试以 root 身份运行它时,我仍然收到相同的消息。我跑去ls -l
检查文件权限,权限位正常(rw-r--r--
)。这是怎么回事?我该如何解决这个问题?
答案1
当您编译源代码文件时,新生成的输出二进制文件具有权限并且不可执行,因为字符串中rw-r--r--
没有。x
通过运行使其可执行
chmod +x hello
sudo
如果需要,请在命令前添加。之后,使用 运行二进制文件./hello
。