Düzenleme Birkaç Yıl Sonra Bu Soruya Geri Dönme
Daha fazla destek kütüphanesi kullanmaya devam ettikten sonra , ürünün açıklaması istediğiniz işlevsellikle eşleştiğinde neden destek kullanmanız gerektiğine dair sağlam bir durum vermek için bu soruyu güncelleyeceğimi düşündüm. Bu bile nay-söyleyenleri ikna edecektir. OpenSSL'yi indirin, onunla bir istemci ve sunucu uygulaması yapmaya çalışın. Şimdi her platformda bu işi yapmaya çalışın. Ardından, aynı uygulamayı yapmak için boost :: asio :: ssl dosyasını indirip kullanın. Yükseltmenin temiz, iyi optimize edilmiş, eşler arası gözden geçirilmiş, çapraz platform kodu aramak için doğru yer olduğuna inanmıyorsanız, bu basit alıştırma sizi dönüştürür.
Tl; dr sürümü:
Benim düşünceme göre, destek kullanan tonlarca indie ya da küçük ila orta boy geliştirme firması görmüyorsunuz, çünkü evcilleştirilmesi kolay olmayan muazzam ve güçlü bir vahşi hayvan; kullanmak için. Belgeler birkaç yönden yoksundur (uzun sürüme bakınız) ve proje etrafındaki “topluluk” ya eksik, dağınık veya etkin değil (diğer projelere kıyasla).
Çok Uzun Süreli Sürüm:
Şimdiden kabul edilmiş bir cevap olduğunu fark ettim; ancak yaptığım hemen hemen her projede destek kullanan biri olarak cevap göndereceğimi düşündüm.
Etrafta ilk kez dürtme ile düştüğümde ve ne olduğu hakkında hiçbir fikrim olmadığını hatırlıyorum. Destek, hiç iyi bir şekilde belgelenmemiş. İnsanlar emin değilim konusunda benimle aynı fikirde olmayabilir, çünkü bir sürü örnek kod parçacığı ve yorum gibi şeyler var, ancak gezinmesi çok zor ve belirsiz.
Ayrıca, proje çevresinde "topluluk" bulduğunuzu düşündüğünüz bir yer bulmak zor görünüyor. Aslında, topluluk varolmamış ya da göçebe görünüyor. Maalesef posta listeleri bile o kadar çok sülük bölgesi tarafından kontrol ediliyordu ki, bu tavşan deliğinden aşağıya inebiliyorsunuz.
Bu iki faktör, artırma kütüphanelerini kullanmayı öğrenmeyi göz korkutucu bir görev haline getirir. Desteği kullanma teknikleri aşırı derecede karmaşık olmasa bile, büyük bir kütüphane kümesidir ve silahlı olduğunuz her şey, bir kaç kod parçacığı ve posta listesinin internetin en karanlık köşelerinden dağılmış parçaları olduğunda aşağı bakıyor ... iyi fikir aldın.
1.45 sürümündeki destekle başa çıkmaya başladım ve yalnızca şu anda 1.52 / 1.53 sürümünde üretimde kullanmak için yeterince rahat hissediyorum. Alışılacak ve hatırlanacak çok şey var, nasıl yapılandırıldığınızı nasıl yapılandırdığınızı, nasıl yapılandırdığınızı nasıl arttıracağınız gibi basit şeyler bile, çünkü kütüphanelerin nasıl inşa edildiği ve nasıl işlediğinin nasıl özelleştirilebileceği nedeniyle derleme zamanında tercihlerinize göre çılgınca değişebilir vardır.
Ancak , hiçbir hata yapmayın , bir kez daha güçlenmeye devam ederseniz, sağlam, platformlar arası programları hızla oluşturmak için güçlü bir silah edindiniz. Sadece boost::asio
mesela. Sadece birkaç yüz satırda son derece güçlü, ölçeklenebilir ve kaya gibi sağlam bir çapraz platform asenkron web sunucusu yazabilirsiniz. Yıllar geçtikçe birden fazla müşteri, sunucu, proxy vb. Her birini henüz başarısızlığa uğratmayan birkaç satırlık kod yazdım ve birkaç dakika içinde platformdan platforma taşıyabilirim.
Diğerlerinin de belirttiği gibi, daha büyük şirketler genellikle eski şeylere takılmış ya da tamamen anladığım kendi şirketlerini devirmeyi seviyorlar. Aynı zamanda duyduğum ve karşılaştığım, gerçekten çok aptalca bir şey var. Tahminime göre, artırmanın 1 tek kütüphane olduğuna inanıyorlar veya BCP'yi hiç duymamışlar .
NEDEN gelince ben boost kullanmayı tercih ediyorum
Bunu kullanacağımı söyleyebilirim çünkü sorunuzda olduğu gibi "C ++ kütüphanesi" dir. Boost, C ++ dünyasında, sonunda kullanmanız gereken şeylerin İsviçre çakısı olarak görülüyor. Bu nedenle fikir, bir ihtiyaç olması halinde, yüksek performans gösteren, yüksek performanslı ve taşınabilir bir versiyonunun olması gerektiğidir. Büyük şirketler artırılmasına katkıda bulunduğu , etkileyici özgeçmiş ile çok eğitimli insanlar katkıda bulunmak ve bunu korumak ve C ++ yeni bir standart geliştirilmektedir zaman, insanlar genellikle bazı bölümleri ++ ISO standart C olması gerektiğini görmek için artırmak için bekliyoruz.
Bu nedenle, muhtemelen var olan bir kütüphanenin var olduğu bazı işlevler eklemem gerekirse, bakacağım ilk yer, sadece iyi bir şekilde optimize edilmiş, taşınabilir olduğuna dair bahis konusunda oldukça güvende olduğum için artıracağım. çok uzun bir süre ve böcekler bulunacak ve ele alınacaktır. Açık kaynak dünyasında bu niteliklerin ortaya çıkması çok zor olabilir.