VSCode中C++代码经g++编译后运行a.exe输出结果不更新如何解决
g编译C代码后运行结果不随代码更新的排查解决步骤
- 确认编译的文件和修改的文件是同一个:终端执行编译命令的工作目录要和你修改的
filename.cpp保存目录一致,可执行ls(类Unix系统)或dir(Windows系统)核对当前目录下filename.cpp的修改时间是否和你刚保存的时间匹配,避免编译了其他目录下的旧版本文件。 - 确认修改后的代码会被执行:新增的输出逻辑不要写在
return语句之后,也不要放在永远无法命中的分支判断代码块中,这两类代码不会被执行,自然不会有输出变化。 - 确认代码修改已经保存:VSCode未保存的文件标签页会显示圆点标记,修改后需要按下
Ctrl+S手动保存,也可以开启VSCode的自动保存功能,避免编译未修改的旧版本文件。 - 检查编译过程是否报错:如果修改后的代码存在语法错误,g++会编译失败,不会生成新的可执行文件,你运行的依旧是旧版本程序。编译后可执行
echo $?(类Unix系统)或echo %errorlevel%(Windows cmd)验证编译结果,返回值为0才代表编译成功。 - 尝试显式指定输出文件编译:执行
g++ filename.cpp -o myapp.exe命令编译,后续运行./myapp.exe启动程序,规避默认a.exe重名冲突问题。
内容的提问来源于stack exchange,提问作者real boy
相关产品推荐
相关产品推荐

