Системи компилације. Поред једноставне конфигурације, направите и направите инсталацију

Сви или готово сви (и ако немате среће) морали смо да компајлирамо програм из изворног кода. Заправо, у већини пројеката довољно је направити ./цонфигуре && маке && маке инсталл да бисте инсталирали програм, али видећемо различите алтернативе:

ГНУ Маке

ГНУ Маке је систем компилације на ниском нивоу, неколико ствари је конфигурисано и не изводе се тестови:

Предности:

  • Веома раширена
  • Једноставно за разумевање
  • Брзо

Против:

  • Мало подесиво
  • Тешко за одржавање
  • Не врши тестове

make

БСД Маке

БСД Маке је још једна верзија Маке-а коју тренутно користе * БСД оперативни системи. Разликује се у томе што је ГНУ Маке најопсежнији БСД Маке у функционалностима, иако је мање раширен.

Предности:

  • Брзо
  • Једноставно за разумевање
  • Више функција од ГНУ Маке

Против:

  • Није раширено у свету Линук-а
  • Не врши тестове
  • Мало подесиво
  • Тешко за одржавање

make

Аутотоолс

Аутотоолс је званични ГНУ систем и генерише скрипту која се зове цонфигуре коју морамо позвати да генеришемо одговарајућу Макефиле датотеку из ГНУ Маке. Широко се користи, међутим, све више људи (укључујући и мене) сматра да је превише гломазан, тежак, спор и не баш компатибилан.

Предности:

  • Високо подесива
  • Веома раширена

Против:

  • Мала преносивост између система који нису УНИКС
  • Извршите превише тестова (проверите СВЕ, а СВЕ ЈЕ СВЕ)
  • Веома споро приликом конфигурисања
  • Лоша компатибилност уназад

./configure && make

ЦМаке

(Мој омиљени систем) ЦМаке је систем који надокнађује недостатке Аутотоолс-а у многим аспектима, попут његове страшне компатибилности и преносивости. Такође побољшање система за тестирање који је високо конфигурабилан за потребе сваког пројекта. Истина је да све више пројеката користи ЦМаке као што су КДЕ, ПортАудио, Огре3Д итд. Ову врсту система можемо препознати захваљујући ЦМакеЛистс.ткт датотеци која ће генерисати Макефиле или пројекат за Ецлипсе или ЦодеБлоцкс

Предности:

  • Брзо
  • Одлична подршка за више платформи
  • Тестове можете дефинисати на врло прилагодљив начин

Против:

  • У почетку тешко разумљиво
  • Морате радити са апстракцијом која у почетку може бити застрашујућа
  • Мало се шири иако мало по мало расте

cmake . && make

КМаке

КМаке је систем који је Троллтецх дизајнирао за компајлирање пројеката направљених у Кт-у. На овај начин кмаке ставља велики нагласак на Кт и обично је формат који користе ИДЕ-и попут КтЦреатор. Прилично је популаран у Кт пројектима, али га нема изван овог окружења:

Предности:

  • Врло добро интегрисан са Кт
  • Брзо
  • Добра мултиплатформа унутар Кт

Против:

  • Ретко изван Кт апликација

qmake . && make

СЦонс

СЦонс је систем за компајлирање Ц / Ц ++ пројеката заснован на Питхон-у. За разлику од Аутотоолс, ЦМаке или КМаке; СЦонс не гради Макефиле. СЦонс је врло прилагодљив, али је можда најспорији у једноставним операцијама
Предности:

  • Једноставна модификација
  • Положите поштене тестове

Против:

  • Мало ширења
  • спор

scons

Боост.Јам

Боост.Јам је верзија Перфорце Јам-а која се користи у популарним Ц ++ Боост библиотекама, иако се систем компајлирања може користити засебно. За разлику од ГНУ Маке, Боост.Јам користи Јамфилес, који су побољшана верзија Макефилес-а. Прилично су популарни у окружењу БеОС / Зета / Хаику.

Предности:

  • Брзо
  • Најкраће за писање

Против:

  • Мало ширења
  • Тешкоћа у извођењу тестова

bjam

ниња

Ниња је систем који је Гоогле развио како би пружио ултрабрзи систем израде који је првобитно дизајниран да одговара систему Цхромиум. Ниња није дизајниран тако да га је лако модификовати, према сопственим ауторима треба пронаћи систем који генерише Нинџу. Препоручени су ЦМаке и гип.

Предности:

  • Муи рапидо

Против:

  • Потребан вам је други систем за мрежење Ниње
  • Мало ширења

ninja

други

Можете користити било који други систем као што је ваш басх или питхон скрипта. Постоје и генератори за друге стране језике који се могу користити као Градле, Мавен, гип итд.


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   абимаелмартелл дијо

    Маке није систем компилације, он је генератор бинарних датотека (или циљева) из свог изворног кода. Такође се може користити као покретач задатака.

    Разликујем се с вама да је БСД маке шири у функционалности, ГНУ маке је потпунији, има више функционалности. И кажем то из свог искуства, у БСД увек морам да инсталирам ГНУ маке, јер је БСД маке врло једноставан у поређењу са ГНУ макеом.

    Слажем се с вама да је Аутотоолс прилично гломазан, више волим да користим Макефиле. Тешко је отклонити грешке у датотекама израђеним помоћу Аутотоолс.

    Поздрав!

    1.    АдрианАрроиоСтреет дијо

      Хвала на коментару!
      По мом мишљењу ГНУ маке је увек био традиционалнији и вернији оригиналном програму маке, а БСД маке је увек био иновативнији, али можда сам приметио и друге ствари приликом упоређивања.

      Ауто алати су заиста велика главобоља. Као сарадник Хаику оперативног система, морао сам да преносим софтвер са аутоматским алатима и то је пакао. Није мало случајева да сам на крају створио Макефиле или ЦМакеЛистс.ткт пре него што сам поправио овај неред.

  2.   Цхуцк Даниел дијо

    Тренутно користим Премаке4, врло подесив и једноставан на основу Луа скрипти. Погледајте ако то не знате.
    Честитке на чланку, једноставне и језгровите, одлична референца.

  3.   Кости дијо

    „маке цхецк“ се користи за проверу компилације након употребе маке
    Велики поздрав