zoukankan      html  css  js  c++  java
  • 如何使用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

  • 相关阅读:
    如何不传入对象就获得某对象的方法---ThreadLocal类
    Linux系统主目录被更改,怎么修改回去?
    tree命令的安装
    Linux命令学习man
    当重载函数的参数是Object和Object数组的时候会发生什么情况!!!
    Linux学习(二)之内核、系统调用、库
    使用puttygen转换OpenSSH SSH2私钥为RSA PEM格式
    docker-compose使用详解
    svn迁移到gitlab
    linux快速启动http端口
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6770010.html
Copyright © 2011-2022 走看看