怎样使用ninja编译系统编译我们的程序?

来源:互联网 发布:东北农业大学知乎 编辑:程序博客网 时间:2024/06/05 18:40
  • 使用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

0 0
原创粉丝点击