You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统下C++程序运行提示Permission Denied的解决方法咨询

解决运行C++程序时的"Permission denied"问题

首先看你遇到的问题,根源出在编译命令的使用上,咱们一步步拆解:

问题分析

你执行的命令是:

gcc -Wall -c test.cpp -o test ./test

这里有两个关键问题:

  1. -c 参数的误用:-c 是告诉编译器只做编译阶段,生成的是目标文件(object file),而不是可直接运行的可执行程序。这种文件本质是中间编译产物,没有执行权限,也不能直接运行,所以系统会提示"Permission denied"。
  2. 命令合并问题:你把编译命令和运行命令写在一行却没有用分号分隔,不过这不是核心问题,核心还是第一个点。

正确的解决步骤

1. 正确编译C++程序

因为你写的是C代码,推荐用g++(C专属编译器)来编译,它会自动链接C++标准库:

g++ -Wall test.cpp -o test

如果坚持用gcc,需要手动链接C++标准库,命令是:

gcc -Wall test.cpp -o test -lstdc++

这两个命令都会生成一个名为test的可执行程序,默认会带有执行权限。

2. (可选)修复文件权限

如果因为之前的错误操作导致test文件权限异常,可以手动添加执行权限:

chmod +x test

3. 运行程序

现在就可以正常运行了:

./test

你的程序逻辑是定义变量a然后返回0,运行后不会有输出,但也不会再出现权限错误啦。

内容的提问来源于stack exchange,提问作者Arjun Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:13:13