Основанная на C ++ система make - PullRequest
4 голосов
/ 16 февраля 2011

Существуют ли системы сборки, которые не используют DSL, но фактически используют C ++ в качестве языка сборки?

Ответы [ 6 ]

11 голосов
/ 17 февраля 2011

Йо, Дауг, я слышал, что вы любите C ++, поэтому я добавил C ++ в вашу систему сборки, поэтому вам нужно скомпилировать его перед сборкой.

3 голосов
/ 21 февраля 2011

Я написал систему сборки, которую я использую в своих проектах на Python, под названием pybake .Он разработан, чтобы быть немного умнее, чем делать, с меньшим количеством магии.Сборка также определена в Python, тем самым повторно используя существующий язык, а не генерируя новый DSL для этой цели.Вот пример его в использовании.

3 голосов
/ 16 февраля 2011

Никто не пользуется популярностью, если кто-то был настолько сумасшедшим, что даже написал его.C ++ был бы невероятно неуклюжим языком для этого.

Если вы хотите его создать, вместо этого выберите такой язык, как Python или Lua, чтобы использовать что-то популярное, а не изобретать новый DSL.

2 голосов
/ 16 февраля 2011

Вы спрашиваете, существуют ли какие-либо системы сборки, такие как Make или Ant, которые используют код C ++ в качестве директив, а не специализированных команд?Хотя во многих языках более высокого уровня есть такая система, в C ++ нет ни одной, о которой я знаю.Конечно, не популярные.Вероятно, это связано с тем, что C ++ - это скомпилированный язык, а не тот, который тривиален для анализа.Это делает его менее подходящим для выполнения простых задач сценариев.

1 голос
/ 16 февраля 2011

Возможно, где-то где-то есть код C ++, но если вы имеете в виду, что вам придется написать программу на C ++ и скомпилировать ее, а затем запустить ее для создания другого дерева исходников, я не думаю, что это действительно сработает в схеме , С чем бы вы собрали свой скрипт сборки? Это продолжается и продолжается.

Компиляторы и команды, стоящие за языками сценариев, часто пишутся на C или C ++.

0 голосов
/ 16 февраля 2011

Поскольку C ++ компилируется, это может привести к проблеме необходимости системы сборки для вашей системы сборки на основе C ++. Я не знаю какой-либо системы сборки на основе C ++ и был бы удивлен, найдя ее. Для интерпретируемых языков, таких как Python, самозагрузка не является проблемой (например, вы найдете scons).

Если вы ищете что-то лучше, чем Make, посмотрите CMake . Хотя шаблон C ++ может быть несколько устаревшим, он может оказаться полезным в качестве примера для создания проектов на основе CMake.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...