vs:Bağlama: Statik ben 3 büyük parçalar var Benim uygulamada Dinamik
- Exe: yürütülebilir bir dosya
- Lib_A: Bir kütüphane içeren bir tekil sınıf ve bazı hesaplamalar kullanım olabilmesi için bir temel sınıf singleton sınıf Lib_B
- : kütüphane Lib_A
Lib_B olduğu I türetilmiş sınıfları nedeni, bazdan türetilen bir takım sınıfları içerir istediğim Exe'den çalışma zamanında Lib_B'yi derlemek. Tüm sistemi sonlandırmadan hesaplamalar sırasında türetilmiş sınıflar oluşturmam gerekiyor. Bu benim için çok önemli. Bu, başlangıçta Lib_B1'in dinamik olarak yüklenmiş olduğunu söyleyebilirim, ayrıca Lib_B2'nin diğer sürümlerini Lib_B2, Lib_B3, Lib_B4 gibi derleyebilir ve dinamik olarak yükleyebilirim. Tüm Lib_Bx kitaplıkları, sınıfları bunlara vermek için giriş noktası işlevlerine sahip olacaktır.
Yani hesaba aşağıdaki gerçekleri alarak: Çalışma zamanında- aynı Lib_A paylaşım dosyaları çeşitli sayıda olacaktır.
- Uygulama Windows ve Linux'ta çalışmalıdır. Yani kısmi çapraz platformluluk bir sorundur.
- Ben tbb.dll vb gibi kendi arşivlerine sahip olabilen TBB, Boost, Qt gibi bazı kütüphaneler kullanmak için gidiyorum statik veya dinamik hem Exe karşı Lib_A ait bağlamanın avantajları ve dezavantajları nelerdir
ve Lib_Bx'in? Performans, sistem büyüklüğü vs. nasıl etkilenebilir? Her işletim sistemi için kodlama yapabileceğim herhangi bir tehlikeli veya zor durum var mı? Exe, Lib_A ve Lib_Bx'ler için aynı derleyiciyi kullanmam gerekiyor.
Tüm sistemin tasarımı benim için çok zor bir sorundur, bu nedenle herhangi bir yorum takdir edilecektir.
Çok teşekkürler.
Linux'ta Windows ve Intel C++ derleyicilerinde MSVC++ derleyicisini kullanmak istiyorum. Bence her ikisi de GCC'den daha iyi optimize edilmiş kodlar üretiyor. Uygulama sadece benim kullanım içindir. Onu satmak istemiyorum. –
@sad_man: Ve VC ve ICC için yeniden dağıtım hakları almayı planlıyorsunuz? Bununla iyi şanslar. – ephemient
@ephermient: Uygulamamı şimdilik şüphe etmiyorum. Ama eğer ileride satarsam, müşteri açıkça kendi derleyicisinin bir kopyasını sağlayacaktır. Biliyorum iyi gelmiyor ama bu derlenmiş ikili kodun hızını elde etmek için bir hiledir. Şimdilik VC ve ICC ile iyiyim. En kötü durumda uygulamayı GCC ile dağıtabilirim? :) –