我在终端 ac 代码中编译,当我尝试运行它时出现此错误。有什么具体含义吗?我该如何修复它?
答案1
看起来你需要一些特殊的(root)权限来编译代码。在Linux中,大多数情况下你需要根在执行某些特殊任务时,例如更改系统文件的权限、更改文件的所有者以及从位于根路径(/)内的 Linux 系统目录中复制、移动或删除任何文件等。
因此你需要 root 权限来编译你的代码,
sudo gcc -o Output Hello.c
or
sudo g++ -o Output Hello.c
*执行上述命令后,您需要输入root 密码。
答案2
尝试使用终端访问该文件。看看是否遇到任何问题。
完成后,继续执行 c 程序。您可能正在尝试访问需要 root 权限的文件。
因此,您可以在文件上使用此命令
sudo chown USERNAME FILENAME
它会将文件的所有权从 root 更改为 USERNAME。
或者你也可以使用 sudo 以 sudo 权限编译并运行该程序
sudo gcc -o Output Hello.c
另外,还有另一种方法。您可以使用这些命令来完成您的工作。
sudo chown root:USERNAME Output
sudo chmod 4550 Output // use SUID to get root privilege