Makedon - Makedepend

güvenmek bir Unix oluşturmak için kullanılan araç bağımlılıklar nın-nin C kaynak dosyaları. Bir Windows sürümü 2002'de piyasaya sürüldü [1] ve UnxUtils'te son 2007'de güncellenmiş bir tane.[2]

Tarih

güvenmek parçası olarak geliştirildi MIT 's Athena Projesi. Binada yaygın olarak kullanıldı X11 ve yardımcı paketler, ancak o zamandan beri çeşitli derleyicilerin bağımlılık oluşturma olanakları tarafından yerini aldı ve şimdi esasen en kötü durum geri dönüşü olarak kullanılıyor, ör. tarafından depcomp ve GNU Automake.

Kullanım

güvenmek bir kaynak dosyalar listesiyle çağrılır:

makedepend [seçenekler] foo.c bar.c ...

Ancak, daha çok bir hedef olarak çağrılır. makefile, genellikle altında bağımlı hedef, öyle ki bağımlı yapmak çağıracak güvenmek projedeki tüm kaynak dosyalarda. Böyle bir örnek hedef aşağıdaki gibi olacaktır:

SRCS = file1.c dosya2.c ...CFLAGS = -O -DHACK -I ../ foobar -xyzbağımlı:        makedepend - $(CFLAGS) -- $(SRCS)

Amaç

C dili projeleri oluştururken, artımlı derleme (ve temiz derleme için kullanışlıdır) izleyebilmek için bağımlılıklar arasında derleme birimleri. C, derleme birimleri arasındaki arabirimleri şu yolla ifade eder: başlık dosyaları; bu nedenle, içerdiği bir başlık değiştirildiğinde bir derleme birimini yeniden oluşturmak genellikle gereklidir. Yapmak bu bağımlılıklar hakkında bilgilendirilmesi gerekiyor.

güvenmek Bir bağımlılıklar listesi (doğrudan ve dolaylı olarak dahil edilen başlık dosyaları) oluşturmak için C kaynak dosyalarının kodunu ayrıştırarak bu sorunu çözer. Anlayabiliyor koşullu derleme aşırı bağımlılıklar oluşturmayacak şekilde inşa eder. Daha sonra bağımlılıkları ifade eden kuralları Makefile'a ekler.

Eksiklikler

Çoğu modern kaynak kodu, derleyici tarafından tanımlanan C ön işlemci sembollerine göre kaynak kodun hangi kısmının kullanılacağını kontrol etmek için "koşullu derleme" kullanır. Bu semboller derleyici adını veya ailesini, sürüm numarasını, işletim sistemini ve kelime boyutunu belirtebilir. Bu simgelere bağlı olarak, içerilen dosyalar değişebilir. Bununla birlikte, makedepend'in kendisi bir derleyici değildir ve böyle bir simge tanımlamadığından çıktı yanlış olabilir. Ayrıca, desteklenen herhangi bir derleyiciyi tanıyamazsa, bazı kodlar kasıtlı olarak açık bir hata üretir ve bu nedenle makedepend tarafından hiç kullanılamaz.

Alternatifler

Çoğu modern derleyici bir işaret sağlar (genellikle -M) bağımlılıklar listesi oluşturmak için derleyicinin kendi kaynak ayrıştırıcısını kullanan[kaynak belirtilmeli ]. Bu tercih edilebilir güvenmek çünkü oluşturulan bağımlılıkların derleyicinin kendi davranışıyla ters düşme olasılığını azaltır.

Derleyiciler bağımlılık üretimi için farklı bayrakları kabul ettiğinden ve bağımlılık bilgisinin çıktısını alırken farklı davranabildiğinden, derleyiciyi uygun şekilde çağırabilen (ve geri dönebilen bir sarmalayıcı betiği kullanmak güvenmek Eğer gerekliyse). Bu tür popüler bir sarmalayıcı komut dosyası depcomp ile dağıtılan ve kullanılan GNU Automake.[3]

Solaris Yapmak "özel işlev hedefi" belirtilerek etkinleştirilen bağımlılık izleme desteği içerir .KEEP_STATE.[4]

Referanslar

  1. ^ "X11 dağıtımından bağımsız olarak eklendi". Arşivlenen orijinal 2006-02-09 tarihinde. Alındı 2013-09-17.
  2. ^ UnxUtils barındırılan proje SourceForge
  3. ^ Automake'da Bağımlılık Takibi Automake Kılavuzu
  4. ^ Solaris yapmak (1) Man sayfası

Dış bağlantılar