昨晚还有今早发生一件很智障的事情:
昨天我用VSCode写代码的时候,先编译运行了一遍文件,发现有问题,遂修改再试。
中途分心改了下Windows日期和时间格式,具体地,在控制面板将时钟和区域->更改日期、时间或数字格式->格式 的中文(简体,中国)改成了英语(美国),原因是为了用英文显示星期,以与一个用系统格式显示时间的插件的格式相匹配。
代码修改完毕再试,编译完成,运行失败,遂查看,发现g++编译出的文件名中的中文部分变为乱码,全英文文件可正常编译。今早,尝试查找解决方法未果,遂尝试重装MinGW。重装到一半,此时编译仍有上述问题,想起昨晚修改此项设置的时间似乎恰好在这两次编译之间,遂尝试把设置项改回,改回后,g++编译正常,可以正常编译文件名含中文的cpp文件。望周知,g++编码输出文件格式可能受到系统时间格式的影响。