БитТоррент клијент Пренос се пребацује са Ц на Ц++

Библиотека либтрансмиссион, која је основа Трансмиссион БитТоррент клијента, преведена је на Ц++. Пренос и даље има везе са имплементацијом корисничких интерфејса (ГТК интерфејс, демон, ЦЛИ), написан у Ц језику, али за склапање сада је потребан Ц++ компајлер. Раније је само интерфејс заснован на Кт-у био написан у Ц++ (клијент за мацОС је био у Објецтиве-Ц, веб интерфејс је био у ЈаваСцрипт-у, а све остало је било у Ц).

Пренос је извршио Чарлс Кер, вођа пројекта и аутор интерфејса за пренос заснованог на Кт. Главни разлог за пребацивање целог пројекта на Ц++ је осећај да када правите промене у либтрансмиссиону морате стално да измишљате точак, иако постоје готова решења за сличне проблеме у стандардној Ц++ библиотеци (нпр. било је неопходно да креирате сопствене функције тр_куицкфиндФирстК() и тр_птрАрраи() у присуству стд: :партиал_сорт() и стд::вецтор()), као и да обезбедите Ц++ напредније могућности за проверу типова.

Напомиње се да програмери себи не постављају за циљ да одмах препишу целокупну либтрансмисију у Ц++, већ намеравају да постепено имплементирају прелазак на Ц++, почевши од преласка на компајлирање пројекта помоћу Ц++ компајлера. У свом садашњем облику, Ц компајлер се више не може користити за асемблер, пошто су неке конструкције специфичне за Ц++ додате коду, као што су „ауто“ кључна реч и конверзије типа помоћу „статиц_цаст“ оператора. Планирано је да подршка за старије Ц функције остане ради компатибилности, али се програмери сада охрабрују да користе стд::сорт() уместо ксорт() и стд::вецтор уместо тр_птрАрраи. цонстекпр уместо тр_стрдуп() и стд::вецтор уместо тр_птрАрраи.

Извор: опеннет.ру

Додај коментар