GNU Make Book - Linux Yapı Otomasyonunu Teşvik Etmek

Linux hakkında yazmanın yanı sıra, dağıtım ve araçlarla ilgili incelemeler ve dersler yazmanın yanı sıra, yazılım geliştirme konusunda da yoğun bir şekilde ilgileniyorum. Ne yazık ki, bu yazılım geliştirmenin% 99,9'u Windows platformunda gerçekleşiyor.

C ++, Visual Basic, VB.NET ve C # geliştirici olarak 20 yılı aşkın deneyime sahibim ve aynı zamanda hem DBA hem de geliştirici olarak SQL Server ile bir dab eli.

Ne kadar iyi olmadığım Linux için yazılım geliştiriyor. Asla rahatsız olmadığım bir şey. Bunun en önemli sebebi, gün içinde yazılım geliştirdikten sonra yapmak istediğim son şey, daha fazla yazılım yazan bir akşamın etrafında oturmak.

Belli ki betik yazarak ve tuhaf küçük bir program yazmayı seviyorum. Bunlar genellikle Raspberry PI'deki elektronik tabanlı projeler içindir .

Windows platformundaki birçok geliştiricinin, ilk önce Linux'a geçtiğinde sorun yaşayacağı bir şey, uygulamaları oluşturmak ve paketlemek için gerekli araçları öğrenmektir.

Şimdiye kadar geliştirilecek en kolay uygulama türü web uygulamalarıdır, çünkü genellikle derlenmiş kod gerektirmezler (PHP, Perl, Python) ve dosyalar web sunucusunda bir yere yerleştirilir.

Linux için çok sayıda uygulama C, C ++ veya Python kullanılarak geliştirilmiştir. Tek bir C programını derlemek nispeten kolaydır, fakat birden fazla bağımlılık içeren bir çok C programını derlemeniz gerektiğinde işler biraz daha zorlaşır.

GNU Make, uygulamalarınızı tekrar tekrar ve farklı şekillerde derlemenize yardımcı olan bir yapı otomasyon komut dosyası aracıdır. Örneğin, değere bağlı olarak bir uygulamayı 64 bit veya 32 bit kullanarak derleyecek bir parametre sağlayabilirsiniz.

GNU Make kitabı, GNU Make kullanıcılarına GNU Make ile ilgili karmaşıklıkların daha sıkı bir şekilde kavranmasına yardımcı olmak için John Graham-Cumming tarafından yazılmıştır.

Kitap altı bölüme ayrılmıştır:

  1. Temel Bilgiler
  2. Makefile Hata Ayıklama
  3. Bina ve Yeniden İnşa
  4. Tuzaklar ve Sorunlar
  5. Zarfı itmek
  6. GNU Make Standart Kütüphanesi

Kitabın yeni başlayanlara yönelik olduğunu sanmıyorum çünkü "GNU Nedir?", "Nasıl Yapabilirim?" Gibi yeni bir konu öğrenirken beklediğiniz bazı netliklerden yoksundur. her programı birer birer derlemekten daha iyisini yapmak mı? " ve "GNU Make kullanarak programları nasıl derlerim?". Bu konu alanlarının tümü GNU Make kılavuzunda ele alınmıştır .

İlk bölümün "Temeller" in aksine "Temellerin Yeniden İncelenmesi" olarak adlandırılması, başlamanızdan önce konuyla ilgili bir temelinizin olması beklendiğini açıkça göstermektedir.

İlk bölüm, değişkenlerin kullanımı, komutlar tarafından kullanılan ortamlar ve $ (Shell) ortamı gibi tüm temel konuları kapsamaktadır. Bölüm ilerledikçe, karşılaştırma, listeler ve kullanıcı tanımlı fonksiyonlara girersiniz.

Eğer GNU Make'i bir süredir kullanıyorsunuz ama henüz bir uzman düşünmüyorsanız, hemen anlaşılamayacak bazı incelikleri anlamanıza yardımcı olacak bazı güzel ipuçları ve ipuçları vardır.

İkinci bölüm, inşa komut dosyalarındaki hataları yakalamaya çalışanlarınız için bir vaftiz olacaktır. Makefile Hata ayıklama bölümü, Makefile hatalarını ayıklamak için mükemmel ipuçları ve ipuçlarıyla doludur ve değişken değişkenlerin yazdırılması ile ilgili bölümleri içerir ve hatta her değişkenin değerini boşa çıkarır. Daha fazla bilgi için, GNU Hata Ayıklayıcısına, komut dosyaları arasında geçiş yapmak için kullanabileceğiniz bir kılavuz bulunmaktadır.

Üçüncü bölüm örnek makefile içerir, ancak bundan daha fazlasını tekrar tekrar çalıştırabileceğiniz Makefiller'i nasıl oluşturacağınızı gösterir.

"Tuzaklar ve Sorunlar", = ve: = ve ifndef ve? = Gibi belirli terimler arasındaki farklara bakar.

Kitabın ötesine geçtiğimde, GNU Make'i aktif olarak kullanmaya çalışmadığımdan ve bilgimin çok basit bir seviyede olmasından dolayı, konu başlığımın bir kısmının çok fazla ilerlediğini keşfettim.

"Zarfı İterek" bölümüne geldiğimde gözlerim biraz parladı.

Ana özetim, eğer bu kitabı özetlemem gerekirse, yazarın eşyalarını açıkça bilmesi ve mümkün olduğu kadar çok bilgiyi aktarmaya çalışmasıdır.

Sorun şu ki, bir konu uzmanı aşağıya bir şey yazmayı denediğinde, "bu kadar kolay, tüm yapmanız gereken şey ...." onlar hakkında aura.

Arka kapımdaki lastik conta geçtiğimiz hafta çıktı ve sadece birkaç yıl olduğu için garanti kapsamında olduğu için şirkete telefon ettim.

Telefondaki bayan "tamam, sana yeni bir mühür göndereceğim" dedi.

"Oh, kendime uymalı mıyım? Yapabileceğim bir şey mi" dedim.

Tepki "Yapabileceğine emin ol, tek yapman gereken kapıyı çıkar, mührünü tak ve kapıyı geri koy".

Şimdi anlık düşüncem "woah, biraz geri sar. Kapıyı çıkar?!". Bir kapıyı çıkarmaya, bir contayı takmaya ve kapıyı tamir etmeye uygun değilim. Bunu uzmanlara bırakıyorum.

Bu kitapla, faydalı bulmanız için başka bir kitaba ve Makefiles yazarak belirli bir deneyim deneyimine ihtiyacınız olduğunu hissediyorum.

Sağlanan ipuçları, ipuçları ve bilgiler, bazı insanların "Ah, işte bu yüzden böyle yapıyor" ya da "bunu bu şekilde yapabileceğinizi anlamadım" demesine yardımcı olacağını düşünüyorum.

Benim düşüncem bu yüzden, GNU Make ile ilgili ileri düzey bilginin açıklığa kavuşturulması veya daha fazla arabuluculuk arayışı içindeyseniz bu kitabı almanız gerektiğidir, ancak yeni başlayanlar için bir kitap değildir.