VSCode编写运行C程序出现Access denied报错如何解决?
报错原因
你遇到的问题包含两部分:
- 编译警告:你在代码中把
main函数声明为void无返回值类型,但函数末尾写了return 0;返回了整型数值,类型不匹配,因此GCC抛出该警告。 - 运行错误
Access is denied:上述警告本身不会阻断编译执行,出现这个报错的常见原因有三类:
- 之前运行过生成的
rect.exe程序没有正常关闭,进程仍在系统中运行,占用了文件导致无法覆盖或者再次执行 - Windows Defender或者你安装的第三方杀毒软件将刚编译生成的可执行文件判定为可疑程序,拦截了执行请求
- 当前Windows账户对代码存放目录没有写入/执行权限
处理方案
- 修正
main函数的声明:按照C语言标准规定,main函数的合法返回值类型为int,将代码第二行的void main()修改为int main(void),保留末尾的return 0;即可消除编译警告。 - 解决权限拦截问题:
- 打开任务管理器,查找是否有
rect.exe进程,手动结束后重新编译运行 - 将代码存放目录
c:\Users\Lily\Documents\vscode prg\添加到杀毒软件的排除目录,避免可执行文件被误拦截 - 如果还是出现权限报错,右键点击VSCode快捷方式,选择「以管理员身份运行」后再执行编译操作
- 打开任务管理器,查找是否有
内容的提问来源于stack exchange,提问作者mjlmb.z
相关产品推荐
相关产品推荐

