BitTorrent-клиент Transmission переходит с Си на Си++

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
13-Сен-2021 14:30

Библиотека libtransmission, лежащая в основе BitTorrent-клиента Transmission, переведена на использование языка C++. В Transmission ещё остаются обвязки с реализацией интерфейсов пользователя (GTK-интерфейс, daemon, CLI), написанные на языке Си, но для сборки теперь требуется наличие компилятора C++. Ранее на С++ был написан только интерфейс на базе Qt (клиент для macOS был на Objective-C, web-интерфейс на JavaScript, а всё остальное на Си).
Портирование выполнил Чарльз Керр (Charles Kerr), лидер проекта и автор варианта интерфейса Transmission на базе Qt. Основной причиной перехода всего проекта на C++ называется ощущение того, что при внесении изменений в libtransmission постоянно приходится изобретать колесо, при наличии готовых решений подобных задач в стандартной библиотеке C++ (например, потребовалось создание собственных функций tr_quickfindFirstK() и tr_ptrArray () при наличии std::partial_sort() и std::vector()), а также предоставление в С++ более продвинутых средств для проверки типов.
Отмечается, что разработчики не ставят перед собой цель сразу переписать весь libtransmission на C++, а намерены реализовать переход на С++ постепенно, начав с перехода к компиляции проекта с использованием компилятора С++. В текущем виде Си-компилятор теперь не может применяться для сборки, так как в код добавлены некоторые специфичные С++ конструкции, такие как ключевое слово "auto" и преобразования типов при помощи оператора "static_cast". Поддержку старых Си-функций планируется сохранить для обеспечения совместимости, но разработчикам теперь рекомендовано использовать constexpr вместо tr_strdup() и std::vector вместо tr_ptrArray.
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_transmission, #_bittorrent
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 01:33
Часовой пояс: UTC + 5