Pubblicità

Nuovo approccio per Chrome su Windows: il compilatore di Microsoft è ora andato


Nuovo approccio per Chrome su Windows: il compilatore di Microsoft è ora andato


(Ultimo aggiornamento: 7 marzo 2018 8:07)

Sbarazzarsi dell'attuale compilatore di programmazione di Microsoft

In questo momento, Il browser Chrome di Google utilizza il cosiddetto compilatore Clang per Windows, invece di Microsoft C ++. Pertanto, Google utilizza attualmente lo stesso compilatore di programmazione per quanto segue: macOS, Windows, Android e Linux. Di conseguenza, Chrome sarà, quindi, il primo grande progetto a utilizzare il software Clang su Windows.

Come siamo arrivati ​​qui

Diamo uno sguardo al 2013, periodo in cui Google ha deciso di utilizzare Clang fino in fondo che includeva Windows. Aveva alcuni vantaggi perché l'utilizzo dello stesso compilatore per tutto semplificava il modo in cui venivano gestiti errori e bug sulla piattaforma. Un grande vantaggio portato a Clang è il fatto che gli strumenti per la diagnostica (UBSan e ASan) erano da tempo ricercati da Google.

Chrome su Windows, d'altra parte, ha scelto il compilatore Visual C ++ di Microsoft, sulla base della revisione che è la scelta più ben supportata e del cliente per Windows. Ha avuto un grande supporto per quanto riguarda il debug e alla portata di strumenti per la diagnosi. Gli elementi vitali dell'esperienza degli sviluppatori Windows sono costituiti dal debugger di Visual Studio, menzionato in precedenza, e WinDbg, a cui la fratellanza C ++ è estremamente affezionata.

Punto critico

La toolchain LLVM insieme a Clang non ha beneficiato molto del supporto di Windows. Ciò li ha influenzati sia in modo superficiale che in modo più profondo. Se lo guardiamo, ciò che Windows utilizza per gli strumenti è tutto abbozzato attorno al formato di file del database del programma (noto come PDB) contenente preziose funzionalità e contenuti di debug. Tutti i vantaggi che Windows ha a portata di mano, debugger e strumenti di terze parti, traggono conclusioni sulla disponibilità dei programmi di Windows come documenti PDB. C'è un problema: LLVM non può creare database di programmi.

Non sorprende che, come nel caso della maggior parte dei progetti software di grandi dimensioni, le API di Windows richiedano componenti aggiuntivi non standard, determinando che Clang si modifichi per essere in grado di supportare ciò che stava arrivando.

Piccoli passi

Lo scopo era fare in modo che Chrome usasse Clang per Windows. Il primo passo è stato aggiornare LLVM e Clang in modo che offrissero un'assistenza di alta qualità per Windows. Già nel 2015, dare forma al browser è stato un successo e ha fatto sì che Google lo testasse più volte in: canale di sviluppo Canary, seguito dai canali Sviluppo e Beta.

Microsoft apporta il suo contributo rendendo pubblica una quantità importante di sorgenti utilizzate per fabbricare PDB, assicurandosi che sia le loro intestazioni che le librerie C ++ funzionino correttamente con Clang.

Le modifiche devono ancora essere apportate

Al momento, Google non si è completamente spostato sulla toolchain LLVM, ma ha intenzione di farlo una volta che la libreria Microsoft C ++ non lo farà più. Per i piani futuri, Google sta pensando di passare al linker LLVM e di utilizzare anche la libreria Clang C ++.

Pubblicità

Pubblicità

Ottieni più cose come questa
nella tua casella di posta

Iscriviti alla nostra mailing list e ricevi prodotti e aggiornamenti interessanti nella tua casella di posta elettronica.

Grazie per la sottoscrizione.

Qualcosa è andato storto.

Pubblicità

Benvenuto in Technobezz

Installa l'applicazione
×