所以,我试图运行我在C中编写的程序,在我的三星Galaxy Tab 2中(在虚拟机中)
它编译没有问题,make命令运行顺利,但程序本身不运行
shell $ ./prot
这给了我以下错误:
bash: ./prot: Permission Denied
这些是文件的权限:
-rw-rw-r-- 1 root sdcard-rw 8609 Mar 20 16:23 prot
这可能是什么,我怎样才能克服这个小问题?
PS:我正在使用Ubuntu,这个程序在我的Mac上编译并运行良好。
编辑:看到teppic的答案,它解决了我的问题。答案 0 :(得分:3)
您的SD卡很可能是使用noexec
挂载的,这会阻止您在其上执行任何文件。如果您查看/etc/fstab
,并且有sdcard的条目,请取出此选项。通常也可以使用exec
mount -o remount,exec
选项重新安装。
否则,您可以将其复制到允许可执行文件的地方(例如/tmp
)。
答案 1 :(得分:1)
你必须有执行权,我。即x
位设置。尝试
chmod +x prot
修复它。
答案 2 :(得分:0)
也许您需要管理员权限才能更改它,请尝试:
$> sudo chmod 777 prot