GNU Make Book - Linux құрастыру автоматикасын демистирлеу

Сондай-ақ, Linux туралы жазу және тарату және құралдар туралы шолулар мен оқулықтарды жазу сияқты бағдарламалық жасақтаманы дамытуға да үлкен көңіл бөлемін. Өкінішке орай, бұл бағдарламалық жасақтаманың 99,9% Windows платформасында орын алады.

Менде C ++, Visual Basic, VB.NET және C # әзірлеушісі ретінде 20 жылдан астам жұмыс тәжірибем бар, мен де DBA және әзірлеуші ​​ретінде SQL Server екеуінің қолымен жұмыс жасаймын.

Мен жақсы емеспін, Linux үшін бағдарламалық жасақтама әзірлеудеміз. Бұл жай ғана мен ешқашан алаңдаған нәрсе емеспін. Басты себеп - бағдарламалық қамтамасыз етуді жасағаннан кейін күнделікті жұмыс істегім келеді.

Әрине, сценарийлер жасау мен кішкене шағын бағдарламаны жазуды ұнатамын. Әдетте олар Morpberry PI-да электроника негізіндегі жобалар үшін .

Windows платформасында көптеген әзірлеушілер қиындықтарға тап болады, олар бірінші Linux-ге ауысқан кезде қосымшаларды құрастыру және жинақтау үшін қажетті құралдарды үйренеді.

Өйткені қосымшаның ең қарапайым түрі веб-қосымшалар болып табылады, өйткені олар көбінесе құрастырылған кодты қажет етпейді (PHP, Perl, Python) және файлдар веб-серверде белгіленген орынға орналастырылады.

Linux үшін құрылған көптеген бағдарламалар C, C ++ немесе Python көмегімен жасалды. Бірыңғай C бағдарламаны құрастыру өте қарапайым, бірақ бірнеше С-ге тәуелділікпен бірнеше бағдарламаны құрастыру қажет болғанда, сәл қиынырақ болады.

GNU Make - бұл бағдарламаларды қайтадан және әр түрлі жолдармен жинауға көмектесетін құрастыруды автоматтандыру сценарийі құралы. Мысалы, мәнге байланысты бағдарламаны 64-биттік немесе 32-битпен жасайтын параметрді беруіңізге болады.

GNU Make кітапшасын GNU Make қолданушыларына көмектесу үшін Джон Грэхэм-Камминг жазды. GNU Make-пен байланысты күрделіліктерді күшейтеді.

Кітап алты тарауға бөлінеді:

  1. Негіздері қайта қаралды
  2. Makefile Debugging
  3. Құрылыс және қайта құру
  4. Төтенше жағдайлар және проблемалар
  5. Хатқалтаны басу
  6. GNU Стандартты кітапхананы жасау

Бұл кітап жаңадан бастағандарға арналған деп ойламаймын, себебі «GNU Make What?», «How do I create a file?», «Why do I create a file?», «Why do I create a file?» Әрбір бағдарламаны бір-бірден құрастырғаннан гөрі, жақсылық жасау керек пе? « және «GNU Make көмегімен бағдарламаларды қалай құрастырамын?». Барлық осы тақырыптар GNU Make басшылығында қамтылған.

Бірінші тараудың «Негіздері қайта қаралды» деп аталатын фактісі «Негіздер» сөзіне қарама-қайшы, сіз басталмай тұрып, тақырыпты негіздейтін боласыз деп нақты көрсетіп отырсыз.

Бірінші тарауда айнымалы мәндерді, командалар мен $ (Shell) ортасы пайдаланатын ортаны пайдалану сияқты барлық негіздер қамтылған. Бөлімнің қозғалысы сізді салыстыру тақырыбына, тізімдерге және пайдаланушы анықтаған функцияларына енеді.

Егер Сіз GNU Make-ді аздаған уақыт бойы пайдаланып келе жатсаңыз да, өзіңізді сарапшы деп санамаған болсаңыз, онда сіз нақты сараптамаға ие болмасаңыз, кейбір түсініксіздіктерді түсінуге көмектесетін кейбір кеңестер мен кеңестер бар.

Екінші тарау сценарийлердегі қателерді түзетуге тырысқан адамдарға арналған құдайға айналады. «Makefile Debugging» секциясы Makefiles-ді жоюға арналған тамаша кеңестер мен кеңестерге толы және айнымалы мәндерді басып шығару және әр айнымалы мәнді дестіруге арналған бөлімдерді қамтиды. Бұдан әрі тарауда GNU Debugger бағдарламасында сценарийлер арқылы өтуге болатын нұсқаулық бар.

Үшінші тарауда македоның үлгісі бар, бірақ одан да көп, қайтадан іске қосуға болатын Makefiles-ды қалай жасау керектігін көрсетеді.

«Тозу мен қиындықтар» сияқты = және: =, және ifndef және? = Сияқты кейбір терминдер арасындағы айырмашылықтарды қарастырады.

Мен кітапты әрі қарай GNU Make-ды қолдануға тырыспайтындықтан және менің білімім өте қарапайым деңгейде болғандықтан, тақырыптың кейбір мәселелері менің басыма қатты әсер етті.

Мен «Конвертді итеру» бөліміне келген кезде, көздерім біразырақ шыныға жетті.

Менің негізгі түйіндеме, егер мен осы кітапты қорытындыласам, онда автор өзінің материалын анық біледі және мүмкіндігінше көп ақпарат беруге тырысты.

Мәселе мынада, кейде тақырыптық мәселе бойынша сарапшы бірдеңе жазуға тырысқанда, олар «бұл оңай, бәрі істеу керек ...» деп жазады.

Өткен аптада артқы есікке арналған резеңке тығыздағыш бітеліп қалған болатын, себебі мен тек екі жасқа толдым, себебі ол әлі күнге дейін кепілдікке ие болған компанияны шақырды.

Телефондағы әйел былай деді: «О, бұл жақсы, мен сіздерге жаңа мөрді жіберемін».

Мен былай дедім: «Оны өзіме теңестіру керек пе?

Жауап: «Сіз жасай аласыз, бәрі істеу керек - есікті шешіп, мөрмен бекітіңіз және есікті қайтадан қойыңыз».

Енді менің сәттілігім «woah, бұл жерде бірте-бірте орал, есікті шығар!». Мен есігін алып тастауға, тығыздағышқа тұруға және есікті орнына қоюға құқығым жоқ. Мұны сарапшыларға қалдырамын.

Бұл кітабыңмен мен сізге пайдалы екенін табамас бұрын, сізге басқа кітап пен Makefiles жазу тәжірибесі қажет деп санаймын.

Менің ойымша, кеңестер, кеңестер мен білім кейбір адамдарға «О, сондықтан ол мұны істейді» немесе «Мен мұны осылай жасай алатыныңызды білмеймін» деп айтуға көмектеседі деп ойлаймын.

Менің бағалауым бойынша, GNU Make туралы түсініктеме немесе аралықтан жоғары білімді іздесеңіз, бұл кітапты сатып алу керек, бірақ бұл жаңадан бастағандар үшін кітап емес.