GNU Make Book - Линуксийг бий болгох нь Linux-ийг автоматжуулах

Линуксын тухай бичиж, түгээлтийн болон багаж хэрэгслийн талаархи дүн шинжилгээ, зааварчилга өгөх програм хангамж хөгжүүлэхэд ихээхэн хувь нэмэр оруулдаг. Харамсалтай нь програм хангамжийн хөгжүүлэлтийн 99.9% нь Windows платформ дээр ажилладаг.

Би 20 гаруй жилийн турш C ++, Visual Basic, VB.NET, C # хөгжүүлэгч зэрэг туршлагатай бөгөөд би SQL Server-тэй хамт DBA болон хөгжүүлэгчийн аль аль нь байдаг.

Линукс програм хангамжийг хөгжүүлэхэд би тийм сайн биш байна. Энэ бол надад үнэхээр санаа зовоогүй зүйл. Гол шалтгаан нь өдрийн турш програм хангамжийг хөгжүүлсний дараа би хамгийн сүүлд хийх зүйл бол орой дээрээ илүү олон програм бичиж бичих явдал юм.

Би скрипттэй харьцаж, сондгой жижиг програм бичихийг хүсч байна. Эдгээр нь ихэвчлэн Raspberry PI дээр электроник суурилсан төслүүдэд зориулагдсан байдаг.

Windows-ийн платформ дээр байгаа олон хөгжүүлэгчид нь Линукст шилжихэд асуудалтай байх болно. Энэ нь програмыг бүтээх, багцлахад шаардагдах хэрэгслүүдийн талаар суралцах явдал юм.

Хөгжүүлэлтийн хамгийн хялбар хэлбэр нь вэб програмууд бөгөөд ер нь тэд хөрвүүлсэн код (PHP, Perl, Python) шаарддаггүй бөгөөд файлуудыг веб серверийн тохируулгаар байрлуулдаг.

Линуксд зориулж бүтээсэн олон тооны програмууд C, C ++ эсвэл Python ашиглан хөгжүүлэгдсэн байдаг. Нэг C програмыг харьцуулах нь харьцангуй хялбар боловч олон тооны хамааралтай зүйлс бүхий C програмуудыг хөрвүүлэх шаардлага нь арай илүү төвөгтэй болдог.

GNU Make бол програмуудыг дахин дахин дахин янз бүрээр хийхэд туслах бүтээх автоматжуулалтын скриптийн хэрэгсэл юм. Жишээлбэл, та 64-битийн эсвэл 32-битийн тусламжтайгаар програмыг эмхэтгэх параметрийг хангаж чадах параметрийг нийлүүлж болно.

GNU Make book-ийг Жон Гремам-Камминг бичсэн. GNU Make-ийн хэрэглээний нарийн төвөгтэй байдлуудыг илүү бат бөх болгохын тулд GNU-ийн хэрэглэгчдэд туслах зорилгоор бичсэн.

Номыг зургаан бүлэгт хуваадаг:

  1. Үндэслэлийг дахин хянах
  2. Makefile Дебаг хийх
  3. Барилга ба дахин барих
  4. Гомдол ба бэрхшээлүүд
  5. Дугтуйг түлхэх
  6. GNU Стандарт номын санг үүсгэ

Энэ ном үнэхээр эхлэгчдэд зориулагдсан гэдэгт би итгэдэггүй, учир нь "GNU Бүтээл гэж юу вэ?", "Би яаж файл үүсгэх вэ?", "Яагаад хөтөлбөр бүрийг нэг нэгээр хөрвүүлэхээс илүү сайн ашиглах уу? " "Би GNU Бүтээл ашиглан хөтөлбөрүүдийг хэрхэн эмхэтгэх вэ?". Эдгээр сэдвүүдийн талаар бүгдийг GNU Make-ийн гарын авлагад оруулсан байгаа .

Анхны бүлгийг "Үндэслэлийг дахин хянах" гэж нэрлэсэн нь "Үндэслэлүүд" -ээс эсрэгээр та эхлэхээсээ өмнө шалгах асуудалд суурь тавигдах ёстойг тодорхой харуулж байна.

Эхний бүлэг нь хувьсагч ашиглах, тушаалууд болон $ (Shell) орчинг ашиглах зэрэг бүх үндсийг хамарна. Бүлэг дээр шилжих үед та харьцуулалт, жагсаалт, болон хэрэглэгчийн тодорхойлсон функцэд орно.

Хэрэв та GNU Бүтээлийг бага зэрэг хэрэглэж байсан бол өөрөө өөрийгөө шинжээч гэж үзээгүй бол танд зарим нэг тодорхой шинж тэмдгүүдийг ойлгоход туслах зарим зөвлөгөөнүүд, зөвлөгөөнүүд байдаг.

Хоёр дахь бүлэг нь скрипт бүтээхэд алдаа гаргахыг оролдож байсан хүмүүсийн төлөөх бурхан юм. "Makefile Debugging" хэсэг нь Makefiles-г дибаг хийхэд зориулсан маш сайн зөвлөмжүүд болон зөвлөмжүүдээр дүүрэн бөгөөд хувьсагчийн утгуудыг хэвлэх хэсгүүдийг оруулдаг бөгөөд хувьсагч бүрийн үнэ цэнийг хаядаг. Булэг дээр цааш нь скриптүүдээр дамжуулан ашиглахад ашиглаж болох GNU Debugger гарын авлага байдаг.

Гуравдугаар бүлэгт жишээ makefiles загварыг агуулдаг боловч үүнээс илүү нь та Makefiles хэрхэн дахин ажиллуулах талаар харуулж байна.

"Гэмтлүүд ба асуудлууд" гэх мэт зарим нэр томъёоны ялгаануудыг = ба: =, and ifef болон? =.

Би GNU-г ашиглахыг идэвхтэйгээр хичээж байгаагүй учраас би энэ номыг цааш үргэлжлүүлэн олж чадсан бөгөөд миний мэдлэг маш энгийн түвшинд байгаа тул зарим асуудлууд миний толгой дээр маш их хөдөлсөн.

Намайг "Дугуйн дугтуй" бүлгүүдэд хүрч очиход миний нүд зарим талаараа тодров.

Миний гол дүгнэлт, хэрэв би энэ номыг хураангуйлах шаардлагатай бол зохиогч нь өөрийн зүйлсийг тодорхой мэддэг бөгөөд аль болох их мэдээллийг өгөхийг хичээдэг.

Асуудал нь зарим тохиолдолд субъектив мэргэжилтэн ямар нэг зүйлийг бичихийг оролдох үед энэ нь "өө амархан, хийх ёстой зүйл бол ..." тухай тэдний аураг юм.

Миний арын хаалганы резинэн тамга өнгөрсөн долоо хоногт ирсэн бөгөөд хэдэн жилийн өмнө би үүнийг баталсан хэвээр байгаа компани гэж нэрлэсэн.

Утсан эмэгтэй: "Өө, зүгээр ээ, би таныг шинэ тамга луу илгээх болно" гэж хэлсэн.

Би "Би үүнийг өөртөө тохируулах ёстой юу?" Гэж хэлсэн.

Хариу нь "Мэдээжийн хэрэг, чи хийх ёстой бүх зүйл бол хаалга онгойлгоод, тамга дээр нь тохируулан хаалга онгойлгоорой".

Одоо миний түргэн санаа бодол "woah, тийшээ буцаж явцгаая, хаалгыг алга уу?" Би хаалга онгойлгох, битүүмжлэх, хаалгыг өөрчилдөггүй. Би үүнийг шинжээчид үлдээж байна.

Энэ номыг ашиглан, танд өөр ном хэрэгтэй болно, мөн Makefiles-ийг ашиглах нь танд ашигтай байхаасаа өмнө мэдээжийн хэрэг юм.

Зарим хүмүүст өгч буй зөвлөмж, зөвлөмж, мэдлэг нь заримдаа "Өө, тийм учраас л ийм зүйл тохиолддог" эсвэл "Үүнийг ингэж хийж чадна гэдгээ би мэдээгүй" гэж хэлдэг.

Тиймээс миний үнэлгээг та энэ номыг худалдан авах юм уу эсвэл GNU Make-ийн талаарх өндөр түвшний мэдлэгийн талаар илүү гүнзгий мэдлэгийг эрэлхийлж байгаа бол энэ номыг худалдан авах болно. Гэхдээ энэ нь эхлэгчдэд зориулсан ном биш юм.