Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
Разработчики) | Эван Мартин |
---|---|
Первый выпуск | 2012 [1] |
Стабильный выпуск | 1.10.2 [2] / 28 ноября 2020 г . |
Репозиторий | |
Написано в | C ++ , Python |
Операционная система | Linux , macOS , Windows |
Тип | Инструменты разработки программного обеспечения |
Лицензия | Лицензия Apache 2.0 [3] |
Веб-сайт | ниндзя-build |
Ninja - это небольшая система сборки, разработанная Эваном Мартином, [4] сотрудником Google. Ninja делает упор на скорость и отличается от других систем сборки по двум основным параметрам: он предназначен для того, чтобы его входные файлы генерировались системой сборки более высокого уровня, и он предназначен для максимально быстрого запуска сборок.
По сути, Ninja призван заменить Make , который медленно выполняет инкрементные (или неоперационные) сборки. [5] Это может значительно замедлить разработчиков, работающих над большими проектами, такими как Google Chrome, который компилирует 40 000 входных файлов в один исполняемый файл. Фактически, Google Chrome - основной пользователь и мотивация для Ninja. [6] Он также используется для сборки Android (через перевод Makefile Кати ), [7] и используется большинством разработчиков, работающих над LLVM . [8]
В отличие от Make , в Ninja отсутствуют такие функции, как манипуляции со строками, поскольку файлы сборки Ninja не предназначены для написания вручную. Вместо этого следует использовать «генератор сборки» для создания файлов сборки Ninja. Gyp , CMake , Meson и gn [9] - популярные программные инструменты для управления сборкой, которые поддерживают создание файлов сборки для Ninja. [10]
Пример [ править ]
правило cc command = gcc -c -o $ out $ in description = CC $ out команда ссылки правила = gcc -o $ out $ в описании = LINK $ out build source1.o : cc source 1. c build source2.o : cc source 2. c build myprogram : link source 1. o source 2. o
См. Также [ править ]
Ссылки [ править ]
- ^ Мартин, Эван. «Группы Google: построение ниндзя» . Проверено 18 июня +2017 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Релизы - ниндзя-билд / ниндзя" . Проверено 8 декабря 2020 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «КОПИРОВАНИЕ» . Github . Дата обращения 5 сентября 2019 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Человек Google с открытыми исходными кодами, система сборки Chrome» .
- ^ Röthlisberger, Дэвид. «Инструмент сборки ниндзя» . LWN . Проверено 18 июня +2017 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Ниндзя" . Производительность приложений с открытым исходным кодом . Проверено 18 июня +2017 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Список рассылки aosp" .
- ^ "Документация LLVM" .
- ^ "gn - Git в Google" .
- ^ Kitware. "Документация по cmake" . Проверено 18 июня +2017 . CS1 maint: обескураженный параметр ( ссылка )
Внешние ссылки [ править ]
- Официальный веб-сайт
- ниндзя на GitHub