Advertisment

Nouvelle approche pour Chrome sur Windows: le compilateur de Microsoft est maintenant parti


Nouvelle approche pour Chrome sur Windows: le compilateur de Microsoft est maintenant parti


(Dernière mise à jour le: 7 mars 2018 à 8 h 07)

Se débarrasser du compilateur de programmation actuel de Microsoft

En ce moment, Le navigateur Chrome de Google utilise le soi-disant compilateur Clang pour Windows, au lieu de Microsoft C ++. Par conséquent, Google utilise actuellement le même compilateur de programmation pour les éléments suivants: macOS, Windows, Android et Linux. Par conséquent, Chrome sera donc le premier grand projet à utiliser le logiciel Clang sur Windows.

Comment on est venu ici

Jetons un coup d'œil à 2013, moment où Google a pris la décision d'utiliser Clang tout le chemin qui comprenait Windows. Cela avait certains avantages car l'utilisation du même compilateur pour tout simplifiait la façon dont les erreurs et les bogues sur la plate-forme étaient traités. Un gros plus apporté à Clang est le fait que les outils de diagnostic (UBSan et ASan) ont longtemps été recherchés par Google.

Chrome sur Windows, d'autre part, a choisi le compilateur Visual C ++ de Microsoft, en se basant sur l'examen de celui-ci étant le choix le mieux pris en charge et le plus client pour Windows. Il bénéficiait d'un excellent support en matière de débogage et d'outils de diagnostic. Les éléments essentiels de l'expérience des développeurs Windows comprennent le débogueur Visual Studio, mentionné précédemment, et WinDbg, dont la fraternité C ++ est extrêmement friande.

Point de collage

La chaîne d'outils LLVM avec Clang n'a pas beaucoup profité de la prise en charge de Windows. Cela les a affectés à la fois de manière superficielle et plus profonde. Si nous y regardons, ce que Windows utilise pour les outils est tout esquissé autour du format de fichier de la base de données du programme (connu sous le nom de PDB) contenant des fonctionnalités de débogage et un contenu précieux. Tous les avantages que Windows a à portée de main, les débogueurs et les instruments tiers, tirent des conclusions sur la disponibilité des programmes de Windows en tant que documents PDB. Il y a un problème: LLVM ne peut pas créer de bases de données de programmes.

Il n'est pas surprenant que, comme c'est le cas pour la plupart des grands projets logiciels, les API Windows demandent des modules complémentaires qui ne sont pas standard, ce qui détermine Clang à se modifier afin de pouvoir prendre en charge ce qui se profilait.

Petites étapes

Le but était de faire en sorte que Chrome utilise Clang pour Windows. La première étape a consisté à mettre à niveau LLVM et Clang afin qu'ils offrent une assistance de qualité supérieure pour Windows. En 2015, donner forme au navigateur a été un succès et a demandé à Google de le tester plusieurs fois dans: canal de développement Canary, suivi des canaux de développement et bêta.

Microsoft apporte sa contribution en rendant publique une quantité importante de sources utilisées pour fabriquer des PDB, en s'assurant que leurs en-têtes et les bibliothèques C ++ fonctionnent correctement avec Clang.

Des changements restent à faire

À l'heure actuelle, Google n'a pas complètement migré vers la chaîne d'outils LLVM, mais prévoit de le faire une fois que la bibliothèque Microsoft C ++ ne le fera plus. Pour les projets futurs, Google envisage de passer à l'éditeur de liens LLVM et de mettre également en service la bibliothèque Clang C ++.

Advertisment

Advertisment

Obtenez plus de trucs comme ça
dans votre boîte de réception

Abonnez-vous à notre liste de diffusion et recevez des produits intéressants et des mises à jour dans votre boîte de réception.

Merci de vous être abonné.

Quelque chose a mal tourné.

Advertisment