GNU Make Book - Demystifying Linux Kujenga Automation

Pamoja na kuandika kuhusu Linux na kuandika mapitio na mafundisho juu ya usambazaji na zana mimi pia ni kushiriki sana katika maendeleo ya programu. Kwa bahati mbaya, 99.9% ya maendeleo ya programu hufanyika kwenye jukwaa la Windows.

Nina uzoefu zaidi ya miaka 20 kama C ++, Visual Basic, VB.NET, na mtengenezaji wa C # na pia ni mkono wa dab na SQL Server wote kama DBA na msanidi programu.

Nini mimi si nzuri sana katika kuendeleza programu ya Linux. Ni kitu tu ambacho hakijawahi kuchanganyikiwa. Sababu kuu ni kwamba baada ya kuendeleza programu wakati wa siku jambo la mwisho nataka kufanya ni kukaa karibu na jioni kuandika programu zaidi.

Mimi ni wazi kama kupindana na scripting na kuandika programu ndogo isiyo ya kawaida. Hizi ni kawaida kwa ajili ya miradi ya umeme kwenye Plaspberry PI .

Kitu kimoja ambacho watengenezaji wengi kwenye jukwaa la Windows watakuwa na shida na wakati wa kwanza kuhamia kwenye Linux ni kujifunza kuhusu zana zinazohitajika kujenga na programu za mfuko.

Kwa mbali aina rahisi ya programu ya kuendeleza ni programu za wavuti kwa sababu kwa ujumla hazihitaji msimbo ulioandaliwa (PHP, Perl, Python) na faili zinazotumiwa mahali pa kuweka kwenye seva ya wavuti.

Idadi kubwa ya programu zilizojengwa kwa Linux zinatengenezwa kwa kutumia C, C ++ au Python. Kuandaa mpango wa C moja ni rahisi lakini wakati unahitaji kukusanya mipango kadhaa ya C na vitu vyenye tegemezi nyingi hupata kidogo zaidi.

GNU Fanya ni chombo cha kujifungua cha scripting ambacho husaidia kukusanya maombi yako mara kwa mara tena na kwa njia tofauti. Kwa mfano, unaweza ugavi parameter ambayo kulingana na thamani itaunganisha programu kwa kutumia 64-bit au 32-bit.

GNU Tengeneze kitabu kilichoandikwa na John Graham-Cumming ili kuwasaidia watumiaji wa GNU Kufanya kupata mkali wa matatizo yaliyohusishwa na GNU Make.

Kitabu kinagawanywa katika sura sita:

  1. Misingi ya Marekebisho
  2. Kufuta upya wa Makefile
  3. Kujenga na Kujenga upya
  4. Vikwazo na Matatizo
  5. Kusukuma Bahasha
  6. GNU Fanya Maktaba ya kawaida

Siamini kwamba kitabu hiki ni lengo la Waanzilishi kwa sababu hauna ufafanuzi fulani unayotarajia wakati wa kujifunza somo jipya kama "Je! GNU Inafanya Nini?", "Je! Ninaundaje Faili?", "Kwa nini ni kutumia Faida bora kuliko kukusanya kila programu moja kwa moja? " na "Ninawezaje kukusanya programu kwa kutumia GNU Make?". Maeneo haya yote yamefunikwa katika GNU Kufanya mwongozo .

Ukweli kwamba sura ya kwanza inaitwa "Msingi wa Revisited" kinyume na "Msingi" inasema wazi kwamba unatarajia kuwa na msingi katika suala hilo kabla ya kuanza.

Sura ya kwanza inashughulikia misingi zote kama vile matumizi ya vigezo, mazingira yaliyotumiwa na amri na mazingira ya $ (Shell). Kama sura inakwenda kwenye suala la kulinganisha, orodha, na kazi zilizoelezwa na mtumiaji.

Ikiwa umekuwa unatumia GNU Panga kwa muda mfupi lakini usijichukue mwenyewe kuwa mtaalam kuna vidokezo vyema na vidokezo ambavyo vitakusaidia kuelewa matatizo fulani ambayo hayawezi kuwa dhahiri.

Sura ya pili itakuwa godend kwa wale ambao wamekuwa wakijaribu kupiga makosa katika script za kujenga. Sehemu ya "Makefile Debugging" imejaa mawazo bora na vidokezo vya kufuta maandishi na hujumuisha sehemu za viwango vya kutofautiana vya uchapishaji na hata kupoteza thamani ya kila variable. Zaidi juu ya sura hiyo, kuna mwongozo wa GNU Debugger ambayo unaweza kutumia ili uendelee kupitia maandiko.

Sura ya tatu inajumuisha maandishi ya mfano lakini zaidi ya hayo yanaonyesha jinsi ya kuunda Maandishi ambayo unaweza kukimbia mara kwa mara.

"Pitfalls na Matatizo" inaangalia tofauti kati ya maneno fulani kama = na: =, na kama na = =.

Niliona kama niliendelea zaidi kupitia kitabu ambacho kwa sababu mimi sijaribu kutumia kikamilifu GNU Make na kwa sababu ujuzi wangu ni katika kiwango cha msingi sana baadhi ya suala hilo limeenda sana juu ya kichwa changu.

Kwa wakati nilipofika kwenye sura ya "Kusukuma Bahasha" macho yangu yaliyong'aa kwa kiasi fulani.

Muhtasari wangu mkuu, kama nilipaswa kuandika kitabu hiki, ni kwamba mwandishi anajua wazi mambo yake na amejaribu kupitisha taarifa nyingi iwezekanavyo.

Tatizo ni kwamba wakati mwingine wakati mtaalamu wa suala anajaribu kuandika kitu chini wana "hii ni rahisi, unachohitaji tu ni ...." aura kuhusu wao.

Muhuri wa mpira kwenye mlango wangu wa nyuma ulikuja wiki iliyopita na kama ni umri wa miaka michache tulimwita kampuni iliyoimarishwa kama bado iko katika udhamini.

Mwanamke kwenye simu akasema, "oh ni sawa, nitakutumia muhuri mpya".

Nilimwambia "Oh, ni lazima nifane na mimi mwenyewe? Je, ni kitu ambacho ninaweza kufanya".

Jibu lilikuwa "Uhakika unaweza, unachohitaji kufanya ni kuzima mlango, kuunganisha muhuri na kuweka mlango nyuma".

Sasa mawazo yangu ya papo hapo ilikuwa "ole, rewind kidogo huko. Kuondoa mlango?!". Mimi sio sifa ya kuondoa mlango, kuunganisha muhuri na kufuta mlango. Nawaacha wataalam.

Kwa kitabu hiki, ninahisi kwamba unahitaji kitabu kingine na kiasi fulani cha uzoefu wa kuandika Maandishi kabla ya kuitumia.

Nadhani mawazo, vidokezo, na maarifa zinazotolewa zingeweza kuwasaidia watu wengine kusema "Oh, kwa hiyo ndio sababu hiyo inafanya hivyo" au "Sikujua kwamba unaweza kufanya hivyo kwa njia hiyo".

Tathmini yangu ni kwamba unapaswa kununua kitabu hiki ikiwa unatafanua ufafanuzi au zaidi kati ya ujuzi wa juu juu ya GNU Kufanya lakini sio kitabu cha Waanzia.