2010-09-28 23 views
7

Modern şirketler projelerini derlemek ve bağlamak için ne kullanıyor?Şirketler ikili dosyalarını oluşturmak için neler kullanıyor?

Özellikle büyük projelerde makefiller ölçeklenebilir olacak kadar kullanışlı görünmüyor. Anlayabildiğim kadarıyla, pek çok şirket mevcut yapı sistemleri üzerinde şirket içi yapı sistemleri veya şirket içi komut dosyaları kullanıyor.

Büyük projeler yapmak yapmak? Saf Ant, Maven, vb kullanılmış mı yoksa bazı senaryolarla mı sarılmış?

+3

Makefillerin ölçeklenebilir olmadığını düşünüyorsanız, nasıl kullanıldığını bilmiyorsunuz. Maalesef bu, çoğunlukta olduğunuz anlamına gelir. İşte uygun bir kullanım için iyi bir primer: http://miller.emu.id.au/pmiller/books/rmch/ –

+1

Büyüklük ne kadar büyük? Linux çekirdeği hala en son kullandığım zamanı kullanıyor. Apache httpd sunucusu da öyle. – JeremyP

cevap

4

Günümüzde çeşitli platformlar için makefile oluşturan otomatik olarak CMake kullanın. Ne yazık ki, CMake'un kendi (tuhaf) iç dili vardır, bu yüzden kişisel olarak SCons'u tercih ederim - doğal olarak yapamayacağı her şey kolayca eklenebilir - her şeyden önce sadece Python kodu. list of OS projects using SCons'a bir göz atın. Birçoğu oldukça büyük ve önemsiz çoklu platform oluşturur.

2

Son şirketimde python ile yazılmış özel SCons komut dosyaları ile intel derleyicileri kullandık. Geliştirme C++ idi. Yayınladığımız ürünler büyük görsel yazılım paketleriydi.

SCons

:. "Scons bir Açık Kaynak yazılım inşaat alet olup, yeni nesil aracı inşa autoconf benzer entegre işlevsellik ile klasik yap programı için geliştirilmiş bir çapraz platform yerine Scons düşünün olduğunu/automake ve ccache gibi derleyici önbellekleri. Kısacası, SCons yazılım oluşturmak için daha kolay, daha güvenilir ve hızlı bir yoldur. " ant

+0

"Özel SCons komut dosyaları" ile ne demek istiyorsun? –

+0

Kodunuz için özel bir yapı dosyanız olduğu gibi, aynı amaç için özel bir SCons betiğiniz olsun. – Martin

1

make ve makefile ° C'ye kadar doğaldır.

+0

Büyük bir proje için makefile nasıl yazıyorsunuz? Ölçeklenebilir, kullanılabilir, makefile? Ben en yakın http://www.xs4all.nl/~evbergen/nonrecursive-make.html gördüm ve hala problemleri var. –

+1

@Alex: Büyük bir proje üzerinde çalıştım (kullanılan JVM ile birlikte bir işletim sistemi). En üst düzeyde özyineliydi, sonra her bir bileşen, özünde yinelemeli yapının sorunlu olup olmayacağı konusunda yeterince büyük olup olmadığına karar verdi. Yani, bazı bileşenler, öz olarak inşa edilmiş, diğerleri kendi köklerine inşa edilmişlerdir. JVM en yavaş bölümdü, en azından çok sayıda versiyonu yan yana oluşturduğu için.'Make''in kendisini sarmalayan bir betik ile oldukça kıllı makefile kullandı. Detayları hatırlamıyorum, ancak yeni bir dizin eklemek ve herhangi bir alt ağacı oluşturmak için yeterince kolaydı. –

+0

Oh, ve tüm ortak Java kütüphanesi sınıfları kullanılarak optimize edildi JVM çok büyük ve neden olduğu JNI OS'nin eşdeğer ayrıca 'make' ve oldukça javac'' den assembler kullanılarak inşa edildi neden. –

0

java Bazı büyük projeler (örneğin, Kuvvetlendirme) Jams birinin lehine olmak kaçınmak olarak

2

10 yıldan uzun bir süredir telekomünikasyonda çalıştığım her ürün OEM'leri kullandı. Bazıları nispeten küçüktü, diğerleri 1M SLOC'nin üzerindeydi. Kaynağın çoğu C++, önemli miktarda C++ olmuştur. En çok kullanılan 3. parti kaynakları ve tüm adresindeki satıcıları ürünlerini kullanarak maketlerle gönderir.

Ürününüzü oluşturmak için kullandığınız sistemin yazılım olduğunu unutmayın. Oluşturma yazılımı, SCons veya başka bir dil/sistemde yazılsın, , ürününüzün oluşturduğu yazılımı yazmak için kullandığınız dili anlamanız gerekir. Bunu yapmamak ve yanlış bir yapı sisteminden kaynaklanan ürününüzde hataların ortaya çıkması riskini taşırsınız.

+0

İşlenmemiş mi ya da doğru makefile inşa etmek için kullanılan bir sarmalayıcı komut dosyası var mıydı? –

+0

Her şey ham oldu. – bstpierre

+0

Ben * neredeyse * üzerinde çalıştığım her ürünü söylemeliyim ... DOS toplu dosyalarını kullanan bir çift vardı, ama o kutsal olmayan dağınıklığı hafızamdan temizlemeye çalışıyorum. – bstpierre