我在编译代码时发现,
在没有修改源文件的情况下,
仅仅使用”:wq“
命令保存文件,
源文件会重新编译.
这是因为文件即使没有修改,
“:wq”强制更新文件的修改时间,
这样会让make
编译整个项目时以为文件被修改过了,
然后就得重新编译链接
生成可执行文件
.
这可能会产生让人误解的后果,
当然也产生了不必要的系统资源花销.
“:x”和”:wq”的真正区别,如下:
:wq
强制性写入文件并退出.
即使文件没有被修改也强制写入,
并更新文件的修改时间.
:x
写入文件并退出.
仅当文件被修改时才写入,
并更新文件修改时间,
否则不会更新文件修改时间.