当前位置: 首页 > news >正文

重庆市工程建设信息网新网站公司网站源码

重庆市工程建设信息网新网站,公司网站源码,wordpress调用错误模板的原因,郑州计算机培训机构文章目录 Ninja 构建系统Ninja 是什么?Ninja 的定位Ninja 的构建流程(配合 CMake)1. 准备 CMake 项目2. 执行构建3. 清理构建4. 依赖分析(增量构建) Ninja 构建文件简析(不建议手写,但值得了解&…

文章目录

  • Ninja 构建系统
    • Ninja 是什么?
    • Ninja 的定位
    • Ninja 的构建流程(配合 CMake)
      • 1. 准备 CMake 项目
      • 2. 执行构建
      • 3. 清理构建
      • 4. 依赖分析(增量构建)
    • Ninja 构建文件简析(不建议手写,但值得了解)
    • Ninja 与 Make 的对比
    • 适合 Ninja 的使用场景
    • 如何切换项目为 Ninja 构建?
    • 安装 Ninja
    • 总结

Ninja 构建系统

Ninja 是什么?

Ninja 是一个专注于 极致构建速度 的构建工具,由 Google 的 Evan Martin 开发,最初用于加速大型项目(如 Chromium)的构建。

与 GNU Make 不同,它不是“构建语言”或“元构建系统”,而是一个 非常简洁、纯粹的构建执行工具,用于执行已经生成好的构建规则。


Ninja 的定位

特点说明
构建工具只负责构建执行,不负责生成构建规则(如依赖关系)
快速执行规则设计目标是极致速度:少 IO、快速增量构建
不适合手写构建文件需要由 CMake、Meson、GN 等工具生成 .ninja 文件

Ninja 的构建流程(配合 CMake)

1. 准备 CMake 项目

mkdir build
cd build
cmake -G Ninja ..

这会生成 Ninja 构建规则文件:

build.ninja
rules.ninja
CMakeFiles/

2. 执行构建

ninja       # 默认构建所有目标
ninja MyApp # 构建单个目标

3. 清理构建

ninja -t clean

4. 依赖分析(增量构建)

Ninja 会自动追踪文件修改时间,仅构建变更项,增量构建非常快。


Ninja 构建文件简析(不建议手写,但值得了解)

一个典型的 build.ninja 结构可能如下:

rule CXXcommand = g++ -c $in -o $outbuild main.o: CXX main.cpp
build app: link main.o
  • rule 定义构建动作;
  • build 指定依赖关系和目标;
  • Ninja 使用 简洁无逻辑的语法(无条件判断、无变量展开逻辑)保证速度和一致性。

Ninja 与 Make 的对比

对比项NinjaMake
构建速度极快(适合大型项目)相对较慢
并发能力默认高并发(多核支持)但性能略逊
构建文件可维护性不建议手写(太底层)可自定义规则
可读性不适合人写Makefile 人工可维护
与 CMake 配合优选支持但生成慢
支持平台跨平台(Windows/Linux/macOS)同样跨平台

适合 Ninja 的使用场景

场景类型是否适合原因
单文件小项目Ninja 没有优势
中型项目构建速度快,配合 CMake 使用
大型 C++ 工程✅✅最快增量构建体验,支持并发
CI/CD 自动构建速度快、输出可控
Android/ChromiumGoogle 官方推荐 Ninja 构建

如何切换项目为 Ninja 构建?

mkdir build-ninja
cd build-ninja
cmake -G Ninja ..
ninja

也可以写入 CMakePresets.json

{"version": 3,"configurePresets": [{"name": "ninja-release","generator": "Ninja","description": "Release build using Ninja","binaryDir": "build/ninja","cacheVariables": {"CMAKE_BUILD_TYPE": "Release"}}]
}

安装 Ninja

平台安装方式
Ubuntusudo apt install ninja-build
macOSbrew install ninja
WindowsChocolatey: choco install ninja 或下载 zip 解压

总结

Ninja 是一个轻量级、高性能、执行级别的构建工具,适合通过 CMake 等元构建系统生成构建规则并执行构建,特别适用于大型项目、高并发构建场景。

http://www.yayakq.cn/news/760064/

相关文章:

  • 如何把网站上线专门做二手的网站
  • 相机拍照的图片怎么做网站呀微商城首页
  • 福州企业建站服务电商运营需要掌握哪些知识
  • 如何在asp网站wordpress数据库被挂马
  • 网页与网站的区别与联系是什么网站备案幕布ps
  • wordpress建群站花生壳如何建设网站
  • 银川网站网站建设建筑工程公司起名字大全
  • 金融理财网站建设自己做网站用什么软件
  • 建设电商网站的总结报告网络推广渠道排名
  • 长春网站建设哪家公司好wordpress一键建站
  • 网站表单提交到qq邮箱漯河高端网站建设
  • 网站推广营销方法wordpress能做外贸
  • 北京注册公司地址费用网站中有哪些标签需要优化
  • 男女做暖暖试看网站福州专业做网站
  • 六灶网站建设php 显示不同网站内容
  • 抽奖网站怎么制作一个网站一级栏目
  • 做网站栏目都包括什么企业网站模板下载报价多少
  • php网站上做微信支付功能官方网站aspcms
  • 石家庄校园兼职网站建设培训心得简短200字
  • 深圳网站制作公司深圳app开发装修设计软件3d
  • 怎么建设自己产品网站wordpress推介
  • 网站开发需要用到的技术html动态页面
  • 班级优化大师下载安装福州网站seo推广优化
  • 经典的企业网站做网站月收入多少
  • 网站后台费用移动端显卡
  • 海淀营销型网站建设西安关键词排名优化
  • 网站优化需要工具新乡搜狗网站推广工具
  • 医药网站建设中图片野花香社区论坛
  • 国外一些建筑公司网站上海百度搜索优化
  • 高端建站费用建筑设计图纸