在运行a.out的时候出现 permission denied

时间:2022-01-13 01:55:39
先用gcc -c aa.cpp -o aaa.out
生成aaa.out文件,然后就./aaa.out出现错误,说permission denied
不明白怎么回事能帮忙解答一下么。。
我用的是ubuntu

aa.cpp如下:
#include<iostream>

using namespace std;

int main()
{
double radius;
cout<<"input the radius:";
cin>>radius;
double surface = radius*radius*3.14*4;
cout<<surface;
}

9 个解决方案

#1


这个和代码一般没关系的,chmod +x aaa.out看看(当然,缺省aaa.out应该有+x属性)

#2


引用楼主 seawinds111 的帖子:
先用gcc -c aa.cpp -o aaa.out
生成aaa.out文件,然后就./aaa.out出现错误,说permission denied
不明白怎么回事能帮忙解答一下么。。
我用的是ubuntu

将编译命令改为g++ aa.cpp -o aaa.out 即可。
你的错误是只编译没有连接。

#3


赞成1楼,应该是权限的问题

#4


ding

#5



应该是权限问题 chmod +x

#6


哇哈哈,嚴重BS下榮哥和貓!沒仔細看編譯的參數吧...

#7


引用 6 楼 fetag 的回复:
哇哈哈,嚴重BS下榮哥和貓!沒仔細看編譯的參數吧... 

呵呵,很仔细...

gcc -c aa.cpp -o aaa.out 

应该是

gcc -o aaa.out aa.cpp

#8


应该是g++ -c aa.cpp -o aaa.out
或者是g++ -o aaa.out -c aa.cpp
gcc是c的
g++是c++的 

#9


既然你指定-c参数,这表示compile only,自然生成的只是一个中间的obj文件,自然没有权限,还需进行链接过程,生成最后的exe档,自然就有执行权限了。

#1


这个和代码一般没关系的,chmod +x aaa.out看看(当然,缺省aaa.out应该有+x属性)

#2


引用楼主 seawinds111 的帖子:
先用gcc -c aa.cpp -o aaa.out
生成aaa.out文件,然后就./aaa.out出现错误,说permission denied
不明白怎么回事能帮忙解答一下么。。
我用的是ubuntu

将编译命令改为g++ aa.cpp -o aaa.out 即可。
你的错误是只编译没有连接。

#3


赞成1楼,应该是权限的问题

#4


ding

#5



应该是权限问题 chmod +x

#6


哇哈哈,嚴重BS下榮哥和貓!沒仔細看編譯的參數吧...

#7


引用 6 楼 fetag 的回复:
哇哈哈,嚴重BS下榮哥和貓!沒仔細看編譯的參數吧... 

呵呵,很仔细...

gcc -c aa.cpp -o aaa.out 

应该是

gcc -o aaa.out aa.cpp

#8


应该是g++ -c aa.cpp -o aaa.out
或者是g++ -o aaa.out -c aa.cpp
gcc是c的
g++是c++的 

#9


既然你指定-c参数,这表示compile only,自然生成的只是一个中间的obj文件,自然没有权限,还需进行链接过程,生成最后的exe档,自然就有执行权限了。