Rust新手运行代码报错:无法执行lat5.exe(拒绝访问)遭Avira报毒
解决Rust编译程序被杀毒软件拦截导致的权限错误
你的代码本身完全没问题,出现"Access is denied"错误和Avira的威胁提示,是因为杀毒软件误判了Rust生成的debug版本可执行文件。以下是具体解决步骤:
将Rust编译目录加入杀毒软件白名单
打开Avira的设置界面,找到「防护」或「例外规则」选项,把项目根目录下的target\debug文件夹添加到信任列表里。也可以直接单独添加生成的lat5.exe文件,避免后续编译的其他debug程序再被拦截。清理旧编译文件后重新编译
在终端里执行cargo clean命令,彻底清除target目录下的旧编译产物,然后再运行cargo run重新编译执行,避免残留文件引发的异常。检查系统权限设置
如果是Windows系统,右键点击你的Rust项目文件夹,选择「属性」→「安全」,确认当前登录用户拥有「读取和执行」「修改」权限。必要时可以用管理员身份打开终端,再执行cargo run命令。
另外补充一点:你代码里用let x = 5;重新定义变量的写法是Rust的变量遮蔽(shadowing),这是Rust的正常语法,和PHP/JS里的变量重新赋值逻辑不同,这段代码本身没有问题。
内容的提问来源于stack exchange,提问作者Darlina
相关产品推荐
相关产品推荐

