Aistríonn Tarchur cliant BitTorrent ó C go C++

Tá an leabharlann libtransmission, atá mar bhunús leis an gcliant Transmission BitTorrent, aistrithe go C++. Tá ceangail fós ag tarchur le cur i bhfeidhm comhéadain úsáideora (comhéadan GTK, deamhan, CLI), scríofa sa teanga C, ach tá tiomsaitheoir C++ ag teastáil ón tionól anois. Roimhe seo, níor scríobhadh ach an comhéadan Qt-bhunaithe i C ++ (bhí an cliant le haghaidh macOS i Cuspóir-C, bhí an comhéadan gréasáin i JavaScript, agus bhí gach rud eile i C).

Ba é Charles Kerr, ceannaire an tionscadail agus údar an chomhéadain Tarchuir bunaithe ar Qt. Is í an phríomhchúis leis an tionscadal iomlán a aistriú go C++ ná an mhothú go gcaithfidh tú an roth a athchruthú i gcónaí agus tú ag déanamh athruithe ar an libtransmission, cé go bhfuil réitigh réamhdhéanta ar fhadhbanna comhchosúla sa ghnáthleabharlann C++ (mar shampla, bhí sé riachtanach chun do chuid feidhmeanna féin a chruthú tr_quickfindFirstK() agus tr_ptrArray() i láthair std: :partial_sort() agus std::vector()), chomh maith le háiseanna seiceála cineáil níos forbartha a sholáthar do C++.

Tugtar faoi deara nach socraíonn na forbróirí an sprioc dóibh féin an libtransmission iomlán a athscríobh láithreach i C++, ach go bhfuil sé beartaithe acu an t-aistriú go C++ a chur i bhfeidhm de réir a chéile, ag tosú leis an aistriú go dtí an tionscadal a thiomsú ag baint úsáide as an tiomsaitheoir C++. Ina fhoirm reatha, ní féidir an tiomsaitheoir C a úsáid le haghaidh cóimeála a thuilleadh, ós rud é go bhfuil roinnt tógálacha C++-sonracha curtha leis an gcód, mar an eochairfhocal “uathoibríoch” agus tiontaithe cineáil ag baint úsáide as an oibreoir “static_cast”. Tá sé beartaithe go bhfanfaidh tacaíocht d'fheidhmeanna C níos sine le haghaidh comhoiriúnachta, ach moltar d'fhorbróirí anois std::sort() a úsáid in ionad qsort() agus std::vector in ionad tr_ptrArray. constexpr in ionad tr_strdup() agus std ::veicteoir in ionad tr_ptrArray.

Foinse: oscailtenet.ru

Add a comment