如何使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM