• 如何使用ninja编译系统编译我们的程序?


    • 使用ninja
      • 配置自己的环境来使用ninja
    • 构建程序
    • Android使用ninja
    • Windows使用
      • 调试
      • 不使用VS
    • 技巧

    • 问题

    56554805201307142130163626832305601_000_640

    Ninja的原意是忍者,忍者神龟的忍者。这里被google拿来用在他们的编译系统上。目标是替代make之类的构建器,由于他们认为其他的构建器太慢了,为此他们做过对照,对于chrome之类的拥有几万个文件的超大程序来说,用ninja的话,差点儿马上開始编译,而make差点儿要等上个10秒钟才開始编译。

    Ninja的另外一个特点,事实上不是他娘的特点,就是独立于编译系统的输入文件,我想问下google大神。难道cmake的CMakeList.txt不是吗?

    Google把别的编译系统比作高级语言,而把自己努力设计成更底层的汇编器。这样才干从指令层面来优化编译性能。

    Ninja的的构建(build)文件是给人看的。但不是特别方便于手写。

    这些特点同意她高速评估递增构建。毕竟不是每次都要从头開始。


    Ninjia的底层特性使得她更适合嵌入功能强大的构建系统。 通过gyp(哈哈,拿来的CMakeLists.txt)。ninja可以构建Chrome和v8, node.js等等项目。通过cmake, ninja可以构建LLVM(虚拟机啊)以及KDE桌面等等。

    如何获取ninja?

    github上有:git clone git://github.com/martine/ninja.git

    或者我们在debian/ubuntu上能够这样:apt-get install ninja-build


    本文属原创。转载请注明出处,违者必究

    关注微信公众平台:程序猿互动联盟(coder_online),你能够第一时间获取原创技术文章,和(java/C/C++/Android/Windows/Linux)技术大牛做朋友。在线交流编程经验。获取编程基础知识,解决编程问题。

    程序猿互动联盟,开发者自己的家。

    【答疑解惑】C++ cin问题

    部分參考:https://code.google.com/p/chromium/wiki/NinjaBuild

  • 相关阅读:
    Unrecognized attribute 'targetFramework'.错误解决
    [译]Razor内幕之模板
    [译]Razor内幕之解析
    Java下载中文乱码问题解决方法
    获取矩形中心点与矩形外某点连线和矩形交点的算法
    做产品开发的感想
    [译]Razor内幕之表达式
    Could not find the main class. Program will exit.
    基于SAML的单点登录.NET代理端实现方案
    Linux内核虚拟内存的管理结构说明
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6770010.html
Copyright © 2020-2023  润新知