GNU Make Book - калп уламыштарды Linux Build башкарма

Ошондой эле Linux жөнүндө жазуу жүзүндө жана таратуунун жана куралдар тууралуу сын-пикирлерди жана сабактарын жазуу сыяктуу мен да программалык камсыздоону иштеп чыгуу ташуу иштерине аралашкан эмесмин. Тилекке каршы, бул программалык камсыздоону иштеп чыгуу 99,9% Windows сахнада ишке ашат.

Мен C ++ катары 20 жылдан ашуун тажрыйбасы бар, Visual Basic, VB.NET жана C # иштеп чыгуучу жана мен да бир Жонадап колум DBA жана иштеп чыгуучу катары да SQL Server менен бирге болом.

Мен абдан жакшы эмес, мен эмне Linux үчүн программалык камсыздоону иштеп чыгуу болуп саналат. Мен ким менен эч качан тийген эмес эле бир нерсе болуп саналат. негизги себеби күндүн ичинде программалык камсыздоону иштеп чыгуу кийин мен эмне кылууну каалаган акыркы нерсе көбүрөөк программасын жазып бир күнү кечинде тегерете отуруп болуп саналат.

Мен Scripting тактаган жана так чакан программа жазуу сыяктуу, албетте, керек. Бул электроника негизинде үчүн, эреже катары, болуп Raspberry PI боюнча долбоорлор .

Бир нерсе Windows сахнадан көп иштеп, алар биринчи жолу Linux өтүп жатып менен кыйынчылыктар пайда болот * курат жана пакет арыздарды талап куралдар жөнүндө окуп жатат.

Көбүнчө алар түзүлгөн кодду талап кылбайт, анткени, желе колдонмолору бар иштеп чыгуу үчүн арыз алда канча жөнөкөй түрү менен (PHP, Perl, Python) жана WEB Server боюнча белгиленген жерге атышат.

Linux үчүн курулган өтүнмөлөрдүн көптөгөн C, C ++ же Python колдонуу менен иштелип чыккан. бир C программасын түзүүнүн салыштырмалуу жеңил, бирок бир нече көз карандылыктар, нерселер менен C бир катар программаларды түзүү керек болгондо бир аз татаал алуу болуп саналат.

GNU кылып кайра-кайра билдирмени жана ар кандай жолдор менен жардам берет түзөт тургузуп башкарма скрипт инструменти болуп саналат. Мисалы, наркы 64-биттик же 32-бит менен арыз жаза турган жараша параметр менен камсыз болот.

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

китеп алты бөлүмдөн бөлүнөт:

  1. Basics Revisited
  2. Makefile Debugging
  3. Куруу жана калыбына келтирүү
  4. Тузактардан жана проблемалары
  5. чокта конверт
  6. GNU Standard китепкана

Мен китеп чынында эле бул сыяктуу жаңы теманы окуп жатканда күткөндөй айрым тактоолорду жок, анткени баштагандарга багытталган деп эмес, "GNU эмне болот?", "Мен кантип кантип сааты түзүп эмне кереги бар?", "Эмне үчүн ар бир программаны бир бири түзүүнүн караганда көбүрөөк колдонуп жатат? " жана "кантип GNU жасоо менен программаларды түзөт?" деген. Бул маселе бардык чагылдырылат GNU куралын жасоо .

Биринчи бапта бир чындык экенин "негиздери" каршы "Basics Revisited" деп так сен башталардан мурда объектиси бир негиздери болушу талап кылынат.

Биринчи бапта буйруктары менен $ (Shell) айлана-чөйрөгө колдонгон бардык өзгөрүлмөлүүлөр пайдалануу негиздерин, чөйрөлөр камтыйт. сага бөлүмдө берет салыштыруу теманы сайын, тизмелер жана колдонуучу аныкталган милдетин.

Сиз GNU бир аз убакыт бер колдонуп келишкен, бирок башкалар экспертти эске жок болсо, дароо эле айкын болушу мүмкүн эмес бир татаалдыктар түшүнүүгө жардам берет, кээ бир жакшы кенештер жана ыкмалары бар.

Экинчи бап тургузуу жазууларында тузак каталар аракет бир туугандар үчүн элчиси болот. "Makefile Debugging" бөлүгүндө Makefiles мүчүлүштүктөрдү мыкты кыйытмаларынан жана учтарындагы толгон жана өзгөрүлмө баалуулуктарды чыгарып, ал тургай, ар бир өзгөрмөнүн төгүндүлөрдү бөлүктөрдү камтыйт. Ары-бөлүмүндө, сиз жазууларында аркылуу чыга колдоно аласыз GNU мүчүлүштүктөрдү бир жол бар.

Үчүнчү бөлүмдө мисал makefiles, бирок кайра-кайра чуркап болот Makefiles түзүү кантип көрсөтөт да көптү камтыйт.

"Тузактары жана көйгөйлөрү" = сыяктуу айрым шарттары ортосундагы айырмачылыктарды карап:? =, Жана ifndef жана =.

Мен деп табылган мындан ары жигердүү пайдаланууга аракет кылып жаткан жокмун, анткени GNU жаса деген китебинде жана менин билимим абдан негизги денгээлде, анткени темасы кээ бир менин башына абдан көп чыгып кетти.

Мен көзүм бир аз ашуун Сырдалган китебинин "Мен чокта конверт" керек болгон.

Менин негизги на, мен бул китепти кыскача керек болгон болсо, анда жазуучу өзүнүн нерселерди билет жана анын баарын мүмкүн болушунча көп маалымат боюнча өтүүгө аракет кылып жатат.

маселе кай бир темасы боюнча эксперт бир нерсени жазып алууга аракет кылганда, алар: "О, анын жеңил, сен кыла турган бардык ...." деп, алар жөнүндө турпат бар.

Менин эшигинен резина мөөр өткөн аптада түшүп келгенде, бул жашка эле жубайлар катары мен кепилдик дагы аны жабдылган компания деп атады.

сүйлөшүүдө айым: "Туура эмес ой, мен сага жаңы мөөрдү жиберет", деп айтты.

Мен айттым: "О, мен аны өзүм туура керек бир нерсе айтууну каалайсызбы? Мен эмне кыла алат деген", деп билдирди.

жооп болду: "Эгер мүмкүн Албетте, сен кыла турган бардык эшикти, мөөр ылайык, эшикти кайра кийип алып турат".

Азыр тез ойлоп эле "Woah, ал жерде бир аз артка түрүү. Эшикти алып?!?". Мен, кандайдыр бир эшик жок мөөр туура, эшикти тосмону жөндөмдүү жок. Эксперттер калтырабыз.

Ушул китептин жардамы менен, мен, сиз бул пайдалуу чейин дагы бир китепти жана Makefiles тажрыйбасы жазуу белгилүү бир сумманы муктаж деп эсептешет.

же: "Мен сен ушундай кылышы мүмкүн экенин түшүнгөн эмес", "бул эмне үчүн болуп саналат, ошондуктан, О" Мен ештер, акылдарын жана билим кээ бир адамдар жардам бермек берилген деп ойлойм.

Менин баалоо сиз түшүндүрмөлөрдү же GNU боюнча жаса жогорку билимге аралык дагы издеп жаткан болсо, бул китепти сатып бирок үйрөнчүктөр үчүн китеп эмес экенин, ошондуктан болуп саналат.