加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

权限被拒绝在OS X(10.8.2)Mountain Lion上执行任何gcc编译的c程

发布时间:2020-12-14 19:52:10 所属栏目:百科 来源:网络整理
导读:当我从终端执行我用 gcc编译的任何C程序时,我得到一个权限被拒绝错误. 首先,我已经验证并修复了我的驱动器的权限(在此之前,同样的问题发生了). 为了说明和隔离问题,我将向您展示这个超简单的Hello World程序会发生什么(与其他程序一样,同样的事情发生): #in
当我从终端执行我用 gcc编译的任何C程序时,我得到一个权限被拒绝错误.

首先,我已经验证并修复了我的驱动器的权限(在此之前,同样的问题发生了).

为了说明和隔离问题,我将向您展示这个超简单的Hello World程序会发生什么(与其他程序一样,同样的事情发生):

#include <stdio.h>

main()
{
    printf("Hello World");
}

现在,我将其保存到我的桌面作为helloworld.c.此时,从桌面上,ls -l返回:

total 8
-rw-r--r--  1 michael  staff  56 Mar 13 14:08 helloworld.c

然后我用gcc -c helloworld.c -o helloworld编译(我也试过编译而没有-o标志,结果相同).没有警告或错误. ls -l现在返回:

total 16
-rw-r--r--  1 michael  staff   56 Mar 13 14:08 helloworld.c
-rw-r--r--  1 michael  staff  724 Mar 13 14:16 helloworld.o

尝试使用./helloworld.o执行gcc的输出返回:

-bash: ./helloworld.o: Permission denied

只是为了调试,如果我用sudo(sudo ./helloworld.o)执行,它会返回:

sudo: ./helloworld.o: command not found

现在,如果我尝试使用chmod x helloworld.o设置可执行标志,就像我发现的很多搜索结果所推荐的那样,ls -l返回:

total 16
-rw-r--r--  1 michael  staff   56 Mar 13 14:08 helloworld.c
-rwxr-xr-x  1 michael  staff  724 Mar 13 14:16 helloworld.o

但是,尝试使用./helloworld.o执行现在返回:

-bash: ./helloworld.o: Malformed Mach-o file

现在,为了调试,gcc返回:

/usr/bin/gcc

所以,你可以看到我没有使用第三方gcc.

有谁知道可能是什么问题?我试过四处寻找,但我找不到任何有效的解决方案.我之前遇到过同样的问题,并且已经重新安装了OS X(出于不同的原因),并且仍然在干净有序的开发环境中遇到这个问题.作为参考,我使用的是OS X 10.8.2,并且拥有Xcode 4.6以及最新版本的Xcode Command Line工具(来自Apple的开发人员网站).我没有从Homebrew或任何其他第三方来源安装gcc;它是Xcode Command Line工具附带的gcc.

非常感谢您的帮助!我非常感谢您花时间阅读,诊断并提供帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读