Her zaman kullandığınız derleme sistemini anlamaya çalışmalısınız.
Bu, tüm yapı dosyalarını elle oluşturabileceğiniz anlamına gelmez. Önemli olan, derleme sisteminin projeniz için ne yaptığını ve küçük projeleri manuel olarak derleme yeteneğini anlamaktır ("bir terminalde komutlar yazarken" olduğu gibi).
Sadece (basit) Makefiles'i yaratmanın, neler olduğunu anlamanın en kolay adımı olduğunu düşünmeye meyilliyim, ancak bir şeyleri nasıl inşa edeceğinizi anlamanın başka yollarına da sahip olabilirsiniz.
Neden / ne zaman Makefiles öğrenmek
Yalnızca Windows için programlamaya devam ediyorsanız ve başka hiç kimsenin kodunuzu derlemesini beklemiyorsanız, kodu istediğiniz gibi derlemekten çekinmeyin.
Derleyici agnostik programlamak istiyorsanız ("diğerlerinin hangi derleyiciyi veya IDE'yi kullanmak istediklerine karar vermesine izin verin" gibi), o zaman IDE'nizin "onunla başa çıkmasına" izin vermekten başka bir derleme sistemi öğrenmelisiniz.
Farklı platformlar için programlamak istiyorsanız, kesinlikle yaygın bir derleme sistemi kullanmanız gerekir.
Bu yine de otomatik olarak oluşturulan Makefiles'in nasıl çalıştığını bilmek zorunda olduğunuz anlamına gelmiyor. Sadece derleme sistemi için giriş dosyalarının nasıl çalıştığını bilmek zorundasınız. Bunlar bazen benzer bir sözdizimine sahip olabilir.
Şahsen Makefiles'i çok seviyorum ve onları birçok şey için kullanıyorum. Sadece kod derleme değil. Oluşturduğum her büyük pdf (LaTeX ile) ve birkaç görevi otomatikleştirmek için ihtiyacım olan her proje için bir Makefile oluşturuyorum (bina, paketleme, yükleme, kaynak havuzlarından bağımlılıkları güncelleme, manuel yedeklemeleri çekme / gönderme)
Ancak, terminal üzerinde çok çalışıyorum ve Linux ile çalışıyorum. Vim (güçlü metin editörü) ve konsol araçları dışında IDE olarak adlandırdığınız şeyi kullanmıyorum. Bu sizin için çok farklı olabilir.
Eğer sadece "güncelleme" / paket / upload / .. bir "proje" için farklı yeniden ortaya çıkan komutlar çalıştırmak zorunda şikayet ettiyseniz, o zaman Makefiles yazmayı öğrenmek sizin için yararlı bir şey olabilir.
Her şey için araçlarınız / GUI'leriniz / IDE'leriniz varsa ve kullanıyorsanız, bu bilgiden hiçbir şey alamayabilirsiniz.