BitTorrent-клиент Transmission переходит с Си на Си++
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Библиотека 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
===========
Похожие новости
- Главная ссылка к новости (https://news.ycombinator.com/i...)
- OpenNews: Новая версия BitTorrent-клиента Transmission 3.0
- OpenNews: Уязвимость в BitTorrent-клиенте Transmission, позволяющая выполнить код
- OpenNews: Второй взлом инфраструктуры BitTorrent-клиента Transmission
- OpenNews: В BitTorrent-клиенте Transmission 2.90 выявлено вредоносное ПО для OS X (дополнено)
- OpenNews: Взлом инфраструктуры свободных проектов Deluge и qBittorrent
Похожие новости:
- [Разработка на Raspberry Pi] Настройка Plex, Samba, Transmission на Raspberry pi 4 с помощью Ansible
- [FPGA] Зажигаем светодиодную ленту на базе WS2811 при помощи ПЛИС
- Выпуск qBittorrent 4.3
- [Децентрализованные сети, IT-инфраструктура, Сетевые технологии] BiglyBT стал первым торрент-клиентом с поддержкой спецификации BitTorrent V2
- Выпуск libtorrent 2.0 с поддержкой протокола BitTorrent 2
- Новая версия BitTorrent-клиента Transmission 3.0
- Выпуск qBittorrent 4.2.5
- [Децентрализованные сети, Исследования и прогнозы в IT] uTorrent более 10 лет остается самым популярным ресурсом для загрузки и обмена файлами
- Выпуск qBittorrent 4.2
- [Децентрализованные сети, Lua] Качаем 16GB торрент через планшет с 4GB свободного места
Теги для поиска: #_transmission, #_bittorrent
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 06:15
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Библиотека 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 =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 06:15
Часовой пояс: UTC + 5