Standart Kitaplıktaki Boşlukları Dolduracak En İyi C++ Kitaplıkları


C++ genellikle karmaşıklığı ve ezoterik sözdizimi nedeniyle eleştirilir, ancak C++'da etkili gelişimin önündeki daha büyük bir engelin, tıpkı .NET veya Java ile içsel olarak geri gelen kategori kitaplıklarında olduğu gibi, üst düzey kitaplıklara erişim eksikliği olduğunu hissediyorum. O halde, Standart Kitaplıktaki Boşlukları Dolduracak En İyi C++ Kitaplıkları ile ilgili kısa açıklamaya başlayalım.

C++ geleneksel Kitaplığı, herhangi bir uygulama yazarken genellikle gerekli olan son derece optimize edilmiş algoritmalar ve kapsayıcılar ile birlikte yararlı bir gizmo olabilir, ancak, ağ kitaplıklarını, XML kitaplıklarını, kriptoyu ve beklediğiniz birçok farklı özelliği göremezsiniz. farklı üst düzey dillere sahip olmak. C++11'e kadar, uygulamanızın ölçeklenmesini istiyorsanız, modaya uygun bilgisayarlarda çoklu çekirdeğin akıllı kullanımını yaratmanın önemine rağmen, bir iş parçacığı kitaplığı bile yoktu.

Bu, C++'da önemli bir uygulama yazıyorsanız, büyük olasılıkla bazı üçüncü taraf kitaplıklarından yararlanmanız gerekeceği anlamına gelir.

Bu makale, .NET ve Java'yı takdir eden çerçevelerle elde ettiğiniz çeşitli amaçlı alanlarda yayınlandı ve C++ geliştiricilerinin bu işlevlere hizmet etmesi için hangi kitaplıkların erişilebilir olduğunu görüyor.

Kütüphane Koleksiyonları

Çeşitli kitaplık sınıflarına ayrılmadan önce, birden çok pratik alana yayılan 2 kitaplık için değerli bir iş:

BOOST : Boost, modern C++ geliştirmede en iyi bilinen ve en çok kullanılan kitaplıklardan biridir (standart kitaplığın kendisinden sonra). Bununla birlikte, aslında birçok küçük kitaplıktan oluşan bir koleksiyondur ve Java veya .NET'te gördüğünüz türden tutarlı bir çerçeve olmayı amaçlamaz.

POCO : POCO, Boost olarak da adlandırılmaz, ancak, Java ve .NET için kategori kitaplıklarına çok daha şık ve tutarlıdır. Alternatif problem odaklı dil geleneksel kitaplıklarının yaptığı gibi aynı makul anahtar alanlarda yüksek düzeyde pratiklik sağlamayı amaçlarken, Boost kitaplıkları, kullanıcının bunları etkili bir şekilde kullanması için gereken bir dokunuş ek çalışmasıyla, bir dokunuş ek düşük seviyeli olma eğilimindedir. .

Kategoriye Göre Kitaplıklar

Kullanıcı arayüzü

Masaüstü GUI

.NET eşdeğeri: Windows Presentation Foundation (WPF), Windows Forms
Java eşdeğeri: Swing, Soyut Windows Araç Takımı (AWT)

MFC : Microsoft Foundation kategorileri, Windows masaüstü uygulamalarının C++'da daha kolay geliştirilmesine izin vermek için Windows ve COM arthropod cinsine son verir. görünür bir form düzenleyicisi olan Visual Studio'da iyi bir şekilde desteklenir. Başvurunuz, bazı kısıtlamalara tabi olarak, Visual Studio'nun uygun şekilde yetkilendirilmiş bir kopyası ile yapıldığında, ticari kullanım için olduğu kadar kullanımı da telifsizdir. tabii ki sadece Windows için!

Qt : Qt uygulama çerçevesi, grafiksel kullanıcı arabirimi geliştirme, bazı genel kategoriler ve ek olarak bir IDE (görünür bir form düzenleyicisi içerir) ile ilişkili bir çapraz platform kitaplığı olabilir. ASCII metin dosyası ve işletme lisansları alan birimi sunulur.

Web uygulamaları

.NET eşdeğeri: ASP.NET

C++'da internet uygulamaları geliştirmek, normdan oldukça uzaktır, ancak burada alan birimi, alan biriminin kullanabileceği bazı seçenekler:

CppCMS : CppCMS C++ internet geliştirme çerçevesi, C++'da internet geliştirmeyi uygun hale getirmeyi amaçlar ve web siteleri, neden C++'da internet uygulamaları geliştirmeniz gerekebileceğine dair bir açıklama sunar.


iletişim

.NET eşdeğeri: System.Net ad alanı

Java eşdeğeri: java.net paketi

Boost ASIO : Boost olmayan türde yalnızca başlık kitaplığı olarak ek olarak edinilebilen Boost Asenkron G/Ç kitaplığı, öncelikle ağ iletişimi için bir çapraz platform kitaplığı olabilir (TCP, UDP, ICMP ve ayrıca IPv6 desteği) , benzer şekilde başka bir G/Ç pratikliğinin yanı sıra işletim sistemi etki alanı yuvaları ve Windows API tanıtıcılarının etrafındaki bir sarmalayıcı.

POCO::Net : POCO Networking kategorileri, bird cinsini canlandırmaya kıyasla daha yüksek seviyeli bir ağ kütüphanesi sunar ve Boost bird cinsinin desteklediği alt ağ protokollerine ek olarak, DNS, HTTP, FTP ve e-posta ve destek için kategoriler vardır. SSL/TLS için.

Ağ hizmetleri

NET eşdeğeri: System.Web ad alanı

gSOAP : gSOAP araç takımı, SOAP ve REST XML ağ hizmetlerini destekleyen olgun ancak hala bakımı yapılan bir kitaplık olabilir.
Kazablanka: Metropolis C++ REST SDK, Microsoft tarafından REST hizmetlerine erişmek ve C++'a yazmak için araçlar üretmek için daha yeni (ve daha az olgun) bir yaratım olabilir. Kütüphanenin kökenine rağmen, Linux, yağmurluk OS X ve bir dizi başka telefon platformunu destekler. Bulut hizmetleri için REST'in önemindeki artış göz önüne alındığında, bu SDK da gözlemlenmesi gereken bir şey olabilir.

Veri

veritabanları

.NET eşdeğeri: System.Data ad alanı

Java eşdeğeri: java.sql paketi

POCO ::Data: POCO bilgi ad alanı alanındaki kategoriler, birden çok veritabanıyla iletişimi tamamlayan veritabanından bağımsız bir soyutlama katmanıyla .NET ve Java'daki bilgi çerçevelerinin tasarımıyla ayrıntılı bir eşleşme sağlar. POCO::Data, MySQL, SQLite ve ODBC için yapısal destek içerir.
OTL: Oracle, ODBC Associate in Nursing DB2-CLI örnek Kitaplığı, deyimsel olarak bir C++ kitaplığı arıyorsanız da ilginizi çekebilir, çünkü bu bilgi soyutlaması Associate in Nursing STL tarzı arabirime sahip yalnızca üstbilgi kitaplığı olabilir.

XML

.NET eşdeğeri: System.Xml ad alanı

Java eşdeğeri: java.xml.* paketleri, org.w3c.dom, org.xml.sax

POCO::XML: POCO XML kategorileri SAX2, DOM Associate in Nursing bir XML yazarı sunar. Ayrıştırma, Expat XML C kitaplığını kullanır.
Xerces C++: Xerces C++ kitaplığı dev bir XML çerçevesi olabilir. ek olarak, DOM ve SAX2'ye ek olarak, XML Şema doğrulamasını destekler ve yüksek Xerces üzerinde tasarlanmış tamamlayıcı kitaplıklar ile, XML Stil Sayfası dönüşümleri ve XPath 2/XQuery için destek vardır.
Hatta TinyXML ve RapidXML kadar çok olan C++ için tüm hızlı, hafif XML kitaplıklarından birini merak ediyor olabilirsiniz. Bunlar tam özellikli XML kitaplıkları gibi görünmüyor, ancak bunların kullanımı ve entegre edilmesi basit.

JSON

.NET eşdeğeri: System.Runtime.Serialization.Json ad alanı

JsonCPP: JsonCpp kitaplığı, C++ için kolay bir JSON okuyucu/yazıcı olabilir.
JSON Spirit: JSON Spirit kitaplığı, başka bir JSON okuyucu/yazıcıdır. Boost Spirit program oluşturucusuna kötü muamele için tasarlanmıştır, bu nedenle bunu kullanmak için Boost'a bağımlı olabilirsiniz.
Poco::JSON: POCO, JSON ad alanıyla bunu da sıraladı.

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

Divi's Theme Builder ile Özel Global Başlık Nasıl Oluşturulur

Artık Tema Oluşturucu burada olduğuna göre, web sitenizi A'dan Z'ye kurmanıza yardımcı olacak yeni eğitimlere dalmak için sabırsızlanıyoruz. Buna Divi'nin yerleşik seçeneğini kullanarak özel başlıklar oluşturma da dahildir. Bu eğitimde Divi's Theme Builder'ı kullanarak global bir başlık oluşturmaya odaklanacağız. Bu sayfaya veya gönderiye farklı bir başlık atamadıysanız, web sitenizin her yerinde genel bir başlık görünecektir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir