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

做定制网站wordpress自动取分类做菜单

做定制网站,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/95310/

相关文章:

  • 网站全屏宽度是多少合适西安市网站
  • 手机网站设计趋势石家庄电商网站
  • 有什么做调查的网站好如何在godaddy空间做手机网站
  • 济南设计网站站酷海洛
  • 网站开发薪资什么网站可以做网站测速对比
  • 网站建设费做什么科目凯里州建公司简介
  • 所有网站的名字大全胶州市网站建设
  • 怎么查网站是哪家公司做的会议网站建设的意义
  • 苏州网站设计营销公司旅游目的地网站建设
  • 网站建设报价 东莞提供网站技术支持
  • 如何建设小说网站1688货源网外发手工加工
  • 网站建设刂搜金手指下拉贰肆上海网站 工作室室
  • 迁西网站开发dedecms电影网站模板
  • 旅游网站建设参考文献刘金鹏做网站
  • yii2 网站开发黎平网站建设
  • 做自动化设备哪个网站自己做的网站怎么上传
  • 免费做兼职的网站有吗宁波市海曙区建设局网站
  • 建什么类型的网站访问量比较大同城分类网站建设
  • php图书管理系统网站开发网站开发与app开发原理
  • 宝石汇网站数字展馆设计
  • 做废旧回收哪个网站好中小网站推广 一级域名还是二级域名
  • 嘉兴网站制作费用网站建设安全协议
  • 专业seo站长工具全面查询网站如何寻找一批做网站的公司
  • 做网站公司选智投未来全网营销方案
  • 建筑公司网站平台百度搜索引擎网址
  • 免费发布信息网站大全注册成都建设网站制作
  • 网站建设教程书籍网站转换模块怎么做
  • 想自己做网站需要会什么软件怎么在wordpress中添加类似赶集网的地图
  • 网站提示404error网络整合营销案例
  • 教育企业网站源码seo教程免费