CMake编译命令格式区别解析
这两个命令在功能上是完全相同的,区别仅在于语法格式。
语法解析
ninja -Cbuild
:-C
和build
连在一起写ninja -C build
:-C
和build
之间有空格
实际效果
两种写法都会:
- 切换到
build
目录(-C
参数的作用) - 在该目录中执行
ninja
进行编译
命令行参数规则
在大多数命令行工具中,包括 ninja
:
-Cbuild
是短选项带参数的紧凑写法-C build
是选项和参数分开的标准写法
其他类似例子
# 这些写法都是等价的:
gcc -Iinclude
gcc -I includemake -fMakefile
make -f Makefilecmake -Bbuild
cmake -B build
建议
- 个人使用:按个人习惯选择,紧凑写法更简洁
- 脚本编写:建议使用带空格的写法,可读性更好
- 兼容性:两种写法在所有平台上都兼容
所以你可以根据代码风格偏好自由选择,编译效果没有任何区别。