在VS Code中编写C++代码时,为何文件名中不能包含空格?
项目名带空格为啥会触发编译器致命错误?
我写代码时随便跑了一段,突然终端弹出编译器的FATAL Error提示。网上搜了半天没搞定,朋友说别在项目名称里加空格,但说不出为啥,最后聊别的去了。
错误截图
- 错误截图1:

- 错误截图2:

背后的原因其实很简单
编译器、构建工具这类程序,处理文件路径时默认把空格当成命令参数的分隔符。比如你项目名叫我的项目,工具会把它拆成我的和项目两个独立部分,根本找不到正确的项目路径,直接就触发找不到文件、路径解析失败这类致命错误。
举个实际例子,本来要编译我的项目/main.c,构建命令可能会被拆成:
gcc -o 我的 项目/main.c
这时候编译器以为要把输出文件存成我的,去编译项目/main.c——但这个路径根本不存在,可不就报错了嘛。
另外,很多脚本、配置文件也认无空格的路径,空格会让变量解析、路径拼接出问题,这类问题往往藏得深,排查起来特别麻烦。
内容的提问来源于stack exchange,提问作者Wrong Code
相关产品推荐
相关产品推荐

