用gcc编译后无法运行程序

时间:2013-03-20 16:30:40

标签: c gcc makefile

所以,我试图运行我在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的答案,它解决了我的问题。

3 个答案:

答案 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