BitTorrent istemcisi İletim C'den C++'a geçiyor

Transmission BitTorrent istemcisinin temeli olan libtransmission kütüphanesi C++ diline çevrildi. İletimin, C dilinde yazılmış kullanıcı arayüzlerinin (GTK arayüzü, arka plan programı, CLI) uygulanmasıyla hala bağlantıları vardır, ancak montaj artık bir C++ derleyicisi gerektirir. Daha önce yalnızca Qt tabanlı arayüz C++ ile yazılıyordu (macOS istemcisi Objective-C'deydi, web arayüzü JavaScript'teydi ve diğer her şey C'deydi).

Taşıma işlemi, proje lideri ve Qt tabanlı İletim arayüzünün yazarı Charles Kerr tarafından gerçekleştirildi. Projenin tamamını C++'a geçirmenin ana nedeni, standart C++ kütüphanesinde benzer problemler için hazır çözümler olmasına rağmen (örneğin, gerekliydi), libtransmission'da değişiklik yaparken sürekli olarak tekerleği yeniden icat etmek zorunda olduğunuz hissidir. std: :partial_sort() ve std::vector() varlığında kendi tr_quickfindFirstK() ve tr_ptrArray() işlevlerinizi oluşturmak ve ayrıca C++'a daha gelişmiş tür kontrol olanakları sağlamak.

Geliştiricilerin kendilerine tüm lib aktarımını derhal C++ dilinde yeniden yazma hedefi koymadıkları, ancak C++ derleyicisini kullanarak projeyi derlemeye geçişten başlayarak C++'a geçişi kademeli olarak uygulamayı planladıkları belirtilmektedir. Mevcut haliyle, C derleyicisi artık derleme için kullanılamaz, çünkü "auto" anahtar sözcüğü ve "static_cast" operatörünü kullanan tür dönüşümleri gibi bazı C++'a özgü yapılar koda eklenmiştir. Uyumluluk açısından eski C işlevlerine yönelik desteğin devam etmesi planlanıyor, ancak geliştiricilerin artık qsort() yerine std::sort() ve tr_ptrArray yerine std::vector kullanmaları teşvik ediliyor. tr_strdup() yerine constexpr ve tr_ptrArray yerine std::vector.

Kaynak: opennet.ru

Yorum ekle