GNU Make წიგნი - Demystifying Linux Build ავტომატიკა

ისევე, როგორც 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. საფუძვლები Revisited
  2. Makefile Debugging
  3. შენობა და აღდგენა
  4. პრობლემებსა და პრობლემებს
  5. ზრდის კონვერტში
  6. GNU Make სტანდარტული ბიბლიოთეკა

მე არ მჯერა, რომ წიგნი ნამდვილად მიზნად ისახავს დამწყებთათვის, რადგან არ გულისხმობს გარკვეულ განმარტებებს, რომ მოველით ახალ საგნის სწავლისას, როგორიცაა "რა არის GNU?", "როგორ შევქმნათ ფაილის შექმნა?" იყენებთ უკეთესად, ვიდრე თითოეული პროგრამების შედგენა ერთია? " და "როგორ შევიკრიბოთ პროგრამები GNU Make?". ყველა ამ საგნის სფეროა დაფარული GNU Make სახელმძღვანელო .

ის ფაქტი, რომ პირველი თავი ეწოდება "საფუძვლები რევიზირებულს", რომელიც ეწინააღმდეგება "საფუძვლებს" ნათლად გვიჩვენებს, რომ სავარაუდოდ, სავარაუდოდ, საგანი დაიწყე.

პირველი თავი მოიცავს ყველა საფუძვლებს, როგორიცაა ცვლადების, გარემოს გამოყენების პირობები და $ (შელი) გარემო. როგორც თავში მოძრაობს თქვენ შედის შედარება, სიები და მომხმარებლის განსაზღვრული ფუნქციები.

თუ თქვენ იყენებთ GNU- ს ცოტა ხნის წინ, მაგრამ ჯერ კიდევ არ მიიჩნევთ ექსპერტს, არსებობს სასიამოვნო მინიშნებები და რჩევები, რომლებიც დაგეხმარებათ გაიგოთ გარკვეული ჭრილობები, რომლებიც არ შეიძლება დაუყოვნებლივ.

მეორე თავი იქნება თქვენს მიერ, ვინც ცდილობს შეცვალოს შეცდომების შექმნა სკრიპტებით. "Makefile Debugging" სექცია სავსეა შესანიშნავი მინიშნებები და რჩევები Debugging Makefiles და მოიცავს სექციების ბეჭდვის ცვლადი ფასეულობები და კი გადაყრა ღირებულება ყველა ცვლადი. უფრო მეტად შევიდა თავი, არსებობს სახელმძღვანელო GNU Debugger რომელიც შეგიძლიათ გამოიყენოთ ნაბიჯი მეშვეობით სკრიპტები.

მესამე თავი მოიცავს მაგალითებს, მაგრამ უფრო მეტია, ვიდრე აჩვენებს თუ როგორ შექმნათ Makefiles, რომლითაც შეგიძლიათ ისევ და ისევ.

"უარყოფითი მხარეები და პრობლემები" განიხილავს განსხვავებულ ტერმინებს შორის განსხვავებებს, როგორიცაა = და: = და ifndef და? =.

მე აღმოვაჩინე წიგნის მეშვეობით, რადგან იმიტომ, რომ მე არ აქტიურად ვცდილობ, რომ გამოიყენო GNU Make და რადგან ჩემი ცოდნა ძალიან საბაზისო დონეზეა, ზოგიერთი საგანი ბევრად უფრო მეტად წავიდა ჩემს თავზე.

იმ დროისთვის მე მივიღე "კონვერტის მომატება" თავი თვალებზე გარკვეულწილად.

ჩემი მთავარი რეზიუმე, თუ ეს წიგნი დავწერე, ის არის, რომ ავტორი კარგად იცის თავისი პერსონალი და ცდილობს მაქსიმალურად გაეცნოს ინფორმაციას.

პრობლემა ისაა, რომ ზოგჯერ, როდესაც საგანი ექსპერტი ცდილობს რაღაცის ჩამოწერა, მათ აქვთ ეს "ოჰ, ეს ყველაფერი მარტივია, ყველაფერი რაც თქვენ უნდა გააკეთოთ ..." აურა მათ შესახებ.

რეზინის ბეჭედი ჩემს უკან კარი ჩამოვიდა გასულ კვირას და როგორც ეს მხოლოდ რამდენიმე წლის დავურეკე კომპანია, რომელიც დამონტაჟებული, როგორც ეს ჯერ კიდევ გარანტია.

ქალბატონმა ტელეფონით თქვა: "ო, ეს კარგია, გამოგიგზავნით ახალ ბეჭედს".

მე ვუთხარი: "ოჰ, რა უნდა გავაკეთო?

პასუხი იყო "რა თქმა უნდა, თქვენ შეგიძლიათ, ყველაფერი რაც თქვენ უნდა გააკეთოთ, გამორთეთ კარი, შეესაბამება ბეჭედს და დაუბრუნეთ კარი".

ახლა ჩემი მყისიერი აზრი იყო "woah, გადახვევა ცოტა, იქიდან გავიდნენ კარი ?!"? მე არ ვარ კვალიფიციური კარის ამოღება, შეესაბამება ბეჭედს და დავაბრუნე კარი. მე დავტოვებ ამას ექსპერტებს.

ამ წიგნში, მე ვგრძნობ, რომ თქვენ გჭირდებათ კიდევ ერთი წიგნი და გარკვეული გამოცდილება წერილობით Makefiles სანამ იპოვის სასარგებლო.

მე ვფიქრობ, რომ მინიშნებები, რჩევები და ცოდნა გათვალისწინებული იქნებოდა, ზოგიერთებს ეუბნებიან "ო, ასე რომ ეს ასეა" ან "არ მივხვდი, რომ ამის გაკეთება შეგიძლია".

ჩემი შეფასებით, სწორედ ამ წიგნის შეძენით, თუ თქვენ ეძებთ განმარტებას ან უფრო შუალედურს, რათა შეიქმნას წინასწარ ცოდნა GNU Make, მაგრამ ეს არ არის წიგნის დამწყებთათვის.