Büyük C++ projeleri nasıl derleniyor?

Kadir7678

Hectopat
Katılım
24 Ocak 2018
Mesajlar
70
Daha fazla  
Cinsiyet
Erkek
Küçük -ekrana HELLO WORLD yazdığımız- dosyaları derlemek ve çalıştırmak kolay. Bir hata yaptığımızda sorun değil. Birkaç saniye içinde yeniden derleyebiliriz. Peki ya büyük bir proje ise? Ben sık sık derleyip deneye deneye kod yazıyorum. Büyük bir projenin sık sık derlenmesi sıkıntı çıkarabilir. Abartıyorum Cyberpunk 2077 geliştiricileri nasıl kod yazıyor? Hataları nasıl yakalıyor? Nasıl derliyorlar?
 
Derlemeyi ya kendi sunucularında ya da kendileri bilgisayarla derliyorlardır diye düşünüyorum. Ben 1 GB'lik ROM dosyasının derlemesi için 6 saat falan sürüyor (1K'lık sunucu ile). Oyunlar onlardan da büyük. Uzun sürüyordur bir de parça parça test ediyorlar olabilirler ilk başta çok bilgim yok varsayım sadece.
 
Derlemeyi ya kendi sunucularında ya da kendileri bilgisayarla derliyorlardır diye düşünüyorum. Ben 1 GB'lik ROM dosyasının derlemesi için 6 saat falan sürüyor (1K'lık sunucu ile). Oyunlar onlardan da büyük. Uzun sürüyordur bir de parça parça test ediyorlar olabilirler ilk başta çok bilgim yok varsayım sadece.

1K sunucu derken ne demek istediniz?
 
Genelde iyi işlemcili bilgisayarda, ya da ağdaki bilgisayarla derleme yapıyorlar. Hata olsa da o dosyayı araştırıyorlar. Ek olarak derlenmede yardımcı olacak bazı bayraklar da kullanmak mümkün. Mesela Linux kernelini o şekilde derliyorum.
 
1K sunucu derken ne demek istediniz?
1.000TL'lik sunucu işte Microsoft Azure vs. bunlar gibi yerlerden 1.000TL bütçe ile kurulan sunucu. Bu bütçe ile çekirdek sayısını, depolamanın boyutunu, depolamanın türünü, RAM miktarını falan belirliyorsun. İlk ay ücretsiz veriyor da o da 1.000TL bütçe ile.
 
Yanlış varsa AF ola. C++ derlemeli bir dil olsa da yorumlamalı bir dil gibi projelerini geliştirebilirsin ve uzun derleme süresinden kurtulursun.
 
Projeyi segmentlere ayirir, ayri segmentleri kendi icinde calistirir - compile edersiniz.

Zaten bir seyi degistirdiginde calisip calismadigini kontrol etmek icin tum uygulamayi sifirdan derleyip kontrol ediyorsan cok yanlis yoldasin demektir. Farkli farkli test yontemleri ve yaklasimlari bu yuzden varlar. ( Unit , Integration , Regression vs )

X komponenti C common library sini kullaniyorsa ve sen X te degisiklik yaptiysan yalnizca degisiklik yaptigin dependency tree compile edilir.

bkz: incremental compilation


Sonrasinda da yaptigin kisma ait unit-test leri calistirir ve update edersin.

Oyun gelistirme yapmadigim icin o kismi bilmiyorum.
 

Geri
Yukarı