Mellékleteink: HUP | Gamekapocs
Keres

Windowson is Clang fordítómotorra vált a Google Chrome

Hlács Ferenc, 2018. március 07. 10:53

Ezzel a keresőóriás böngészőjéhez már minden platformon egységes fordítót használ, az elmúlt öt év munkája a Chrome 64-re ért be.

hirdetés

A Chrome 64 kapcsán már több lényeges újításról is beszámoltunk, a böngésző beépített hirdetésblokkolójától a gyűjtőlinkek szélesebb körű használatáig, a Google-nek azonban még március elején is volt mondanivalója a szoftvert érintő fontos változásokról. A 64-es verziótól fogva ugyanis a Chrome windowsos kiadása is a Clang fordítóval, illetve az LLVM toolchainnel készül, ezzel pedig a böngésző végre az összes platformon ugyanarra a fordítóra támaszkodik - az androidos, iOS-es, linuxos, macOS-es, illetve Chrome OS-es verziók ugyanis már jó ideje a Clangot használják. A lépés azért kiemelten fontos, mert a windowsos Chrome az androidos verzió után a legszélesebb körben használt kiadás a különböző platformokra készült variánsok közül.

A szóban forgó Clang az első nyílt forrású C++ fordítómotor, amely a Microsoft Visual C++-szal (MSVC) is ABI-kompatibilis, azaz lehetőség van egy-egy szoftver bizonyos részeit az MSVC fordítóval felépíteni, míg másokat a Clangra támaszkodva, ezek pedig működő programmá fűzhetők össze. A cég nem a napokban döntött a Clang és LLVM használata mellett Windowson, mint azt az Ars Technica is aláhúzza, a vállalat már 2013-ban elhatározta, hogy egységes fordítómotorra vált minden platformon - ami logikus lépés, hiszen így nem kell külön-külön vadászni a felbukkanó bugokra. A fejlesztőcsapat ekkor még, illetve egészen a Chrome 64-ig Windows alatt az MSVC-t használta, utóbbi a platform legszélesebb körben használt, legjobban támogatott fordítómotorja, amely ráadásul gördülékenyen együttműködik a rendszer különböző debugging eszközeivel, mint például a WinDbg.

clngllvm

A Clangról öt évvel ezelőtt ez nem volt elmondható, az eszköz egyebek mellett más parancssoros utasításokat használt mint az MSVC, továbbá az LLVM még a Windowson bevett, debugging adatokhoz készült PDB fájlformátumot sem támogatta. A Google ezért saját kézbe vette a dolgot, és egy dedikált csapattal maga csiszolta hozzá a fordítómotort és toolchaint a Microsoft rendszeréhez, 2015-re pedig napvilágot is látott az első, Clanggal készült Chrome verzió, igaz egyelőre csak a Canary csatornán - a stabil változat a 64-es kiadásra érett be. A mutatványhoz persze a Microsoft oldaláról is szükség volt némi segítségre, a cég egyebek mellett a biztosította a PDB formátum részletes dokumentációját a fejlesztőknek.

Ahogy bejelentésében a Google is kiemeli, a Clang nem helyettesíti a Visual Studiót, sokkal inkább kiegészíti azt. A Chrome fejlesztői továbbra is a Microsoft headerjeit és libraryjait használják a böngészőhöz, illetve sok fejlesztő továbbra is a Visual Studio IDE-ben dolgozik, mind a fejlesztési, mind a debugging feladatok során. A váltás továbbá az LLVM toolchain esetében sem teljes, a Chrome Windows alatt továbbra is a Microsoft C++ libraryt használja, noha a Google hosszabb távon tervezi a váltást a Clang C++ libraryra, ugyanígy a lefordított forráskódból DLL-t faragó Microsoft linkertől sem köszönt még el a cég, de már tervben van az áttérés az LLVM linkerre.

A Google tesztjei szerint a teljesítmény egyes területeken javul, másoknál csökken MSVC-ről Clangra váltva, ugyanakkor a változások minden esetben 5 százalékon belül maradnak, így lényeges eltérést nem lehet majd érzékelni az új fordító használatával. A cég stabilitás terén sem észlelt változást.

Facebook

Mit gondolsz? Mondd el!

Adatvédelmi okokból az adott hír megosztása előtt mindig aktiválnod kell a gombot! Ezzel a megoldással harmadik fél nem tudja nyomon követni a tevékenységedet a HWSW-n, ez pedig közös érdekünk.