The GNU Make Book- ը Linux- ի ստեղծման ավտոմատացման դեմ

Ինչպես նաեւ Linux- ի մասին գրելը եւ բաշխման եւ գործիքների մասին գրավոր եւ վերլուծական գրառում գրելը, ես նույնպես մեծապես ներգրավված եմ ծրագրային ապահովման զարգացման մեջ: Ցավոք, այդ ծրագրային ապահովման 99.9% -ը տեղի է ունենում Windows հարթակում:

Ես ավելի քան 20 տարվա փորձ ունեմ որպես C + +, Visual Basic, VB.NET եւ C # ծրագրավորող, եւ ես նաեւ dab- ի ձեռքը SQL Server- ի հետ `որպես DBA- ի եւ մշակողի:

Այն, ինչ ես այնքան էլ լավ չեմ, Linux- ի համար ծրագրավորողն է: Դա պարզապես ինչ-որ բան ես երբեք չեմ նեղացրել: Հիմնական պատճառն այն է, որ օրվա ընթացքում ծրագրային ապահովման մշակման ավարտից հետո վերջին բանը, որ ես ուզում եմ, նստել է երեկոյան, ավելի շատ ծրագրային ապահովում:

Ես ակնհայտորեն զարմանում եմ սցենարով եւ անչափ փոքր ծրագիր եմ գրում: Սրանք սովորաբար են ազնվամորու ծրագրերի համար ազնվամորու PI- ում :

Մի բան, որ Windows- ի պլատֆորմի վրա շատ մշակողները խնդիրներ կունենան, երբ նրանք առաջին հերթին տեղափոխվում են Linux, սովորում են այնպիսի գործիքների մասին, որոնք անհրաժեշտ են ծրագրերի ստեղծման եւ փաթեթավորման համար:

Ընդհակառակը, կիրառման ամենադյուրին տեսակը վեբ հավելվածներն են, քանի որ, ընդհանուր առմամբ, նրանք չեն պահանջում կազմված կոդը (PHP, Perl, Python) եւ ֆայլերը տեղադրվում են վեբ սերվերի վրա:

Linux- ի համար կառուցված բազմաթիվ ծրագրեր մշակվում են C, C ++ կամ Python- ի միջոցով: Մի C ծրագրի կազմելը համեմատաբար հեշտ է, բայց երբ դուք պետք է կազմաքանակել մի շարք C ծրագրեր, որոնք ունեն բազմաթիվ կախվածություններ, ինչ-որ բան ավելի քիչ բարդ է:

GNU Make- ը կառուցվածքի ավտոմատացման սցենարով գործիք է, որը օգնում է կրկին եւ կրկին անգամ տարբեր ձեւերով պատրաստել ձեր դիմումները: Օրինակ, կարող եք մատակարարել պարամետր, որը կախված արժեքից կկիրառի 64-բիթ կամ 32-բիթ օգտագործող հայտ:

GNU Make- ի գիրքը գրվել է Ջոն Գրեհեմ-Կումմինի կողմից, GNU- ի օգտվողներին օգնելու համար ստանալ GNU Make- ի հետ կապված բարդությունների բարդությունը:

Գիրքը բաժանված է վեց գլուխների.

  1. Հիմունքները վերանայվեցին
  2. Makefile կարգաբերում
  3. Շինարարություն եւ վերակառուցում
  4. Սխալներ եւ խնդիրներ
  5. Հպման ծրարը
  6. GNU ստանդարտ գրադարանը

Ես չեմ հավատում, որ գիրքը, իրոք, ուղղված է սկսնակների, քանի որ դա բացակայում է որոշակի պարզաբանումներ, որ դուք ակնկալում եք, երբ սովորել եք նոր թեմա, ինչպիսիք են, «Ինչ է GNU Make?», «How do I create a file?», օգտագործում է ավելի լավը, քան մեկ ծրագիր կազմելը »: եւ «Ինչպես կարող եմ կազմել GNU Make- ի օգտագործման ծրագրերը»: Այս բոլոր բնագավառները ծածկված են GNU Make ձեռնարկում :

Այն փաստը, որ առաջին գլուխը կոչվում է «Հիմունքները վերանայված», ի տարբերություն «հիմունքների», հստակ ցույց է տալիս, որ նախքան սկսվելը, ենթադրվում է, որ հիմնավորվում է առարկայի մեջ:

Առաջին գլուխն ընդգրկում է բոլոր հիմունքները, ինչպիսիք են փոփոխականների օգտագործումը, հրամանների օգտագործած միջավայրերը եւ $ (Shell) միջավայրը: Քանի որ գլուխը շարժվում է, դուք կստանաք համեմատության, ցուցակների եւ օգտագործողի կողմից սահմանված գործառույթների մեջ:

Եթե ​​դուք օգտագործում եք GNU Make- ը մի փոքր ժամանակով, բայց դեռեւս չեք համարում ինքներդ փորձագետ, կան որոշ լավ հուշումներ եւ խորհուրդներ, որոնք կօգնեն հասկանալ որոշակի intricacies, որոնք անհապաղ չեն երեւում:

Երկրորդ գլուխը կլինի ձեզ համար այն մարդկանց համար, ովքեր փորձում են թաքցնել սխալներ կառուցել սցենարներում: «Makefile Debugging» բաժինը լի է հիանալի ակնարկներ եւ խորհուրդներ Makefiles- ի համար խափանումների համար եւ ներառում է փոփոխական արժեքների տպագրության բաժիններ եւ նույնիսկ ամեն փոփոխականի արժեքը: Հետագայում գլխի մեջ կա մի ուղեցույց GNU Debugger- ում, որը կարող եք օգտագործել սցենարներով քայլելու համար:

Երրորդ գլուխը ներառում է օրինակ makefiles, բայց ավելի քան այն ցույց է տալիս, թե ինչպես ստեղծել Makefiles, որ դուք կարող եք կրկին ու կրկին առաջարկել:

«Խնդիրներն ու խնդիրները» դիտում են որոշակի տերմինների տարբերություններ, ինչպիսիք են = եւ: =, եւ ifndef եւ? =:

Ես գտնում էի, որ գրքի միջոցով գնացի, որ ես ակտիվորեն փորձում եմ օգտագործել GNU Make- ը եւ իմ գիտելիքները շատ հիմնական մակարդակի վրա, քանի որ որոշ առարկա իմ գլխի վրա շատ բան է փոխվել:

Այն ժամանակ, երբ ես ստացա «Հափշտակել ծրարը» գլուխը, աչքերս մի քիչ շաղված էին:

Իմ հիմնական ամփոփագիրը, եթե ես պետք է ամփոփեի այս գիրքը, այն է, որ հեղինակը հստակ գիտի իր իրերը եւ փորձել է որքան հնարավոր է շատ տեղեկություններ փոխանցել:

Խնդիրն այն է, որ երբեմն, երբ փորձագիտական ​​փորձը փորձում է ինչ-որ բան գրել, նրանք ունեն «սա հեշտ է, բոլորը պետք է անեք ....» աուրա նրանց մասին:

Իմ հետեւի դռան վրա ռետինե կնիքն անցավ անցյալ շաբաթ, եւ քանի որ ընդամենը մի քանի տարի է, ես զանգահարեցի այն ընկերությանը, որը տեղադրեց այն, քանի որ այն դեռեւս երաշխիք է:

Հեռախոսի տիկինը ասաց. «Լավ, լավ կուղարկեմ ձեզ»:

Ես ասացի, «Ահա ես պետք է տեղավորեմ այն, ինչ ես կարող եմ անել»:

Պատասխանն այն էր, «Վստահ եղեք, որ դուք պետք է անեք, որ դուռը հանես, տեղադրեք կնիքը եւ դրեք դուռը»:

Հիմա իմ ակնթարթային միտքը «woah, մի քիչ վերադարձիր այնտեղ, դուռը հանիր»: Չեմ կարող որակազրկվել դուռը հեռացնելու, կնիքի տեղադրելու եւ դուռը նորոգելու համար: Ես դա թողնում եմ փորձագետներին:

Այս գիրքը ես զգում եմ, որ Ձեզ անհրաժեշտ է մեկ այլ գիրք եւ Makefiles- ի որոշակի փորձ, նախքան օգտակար գտնելու համար:

Կարծում եմ, որ ակնարկները, խորհուրդները եւ տրամադրված գիտելիքները կօգնեն որոշ մարդկանց, ասելով, «Ահա, որ այդպես է անում» կամ «ես չգիտեի, որ կարող ես դա անել»:

Իմ գնահատականն այն է, որ դուք պետք է գիրք գնել այս գիրքը, եթե դուք փնտրում եք հստակեցում կամ ավելի միջամտություն դեպի GNU Make- ի առաջադեմ գիտելիքներ, բայց դա սկսնակների համար գիրք չէ: