Rust et C ++: ensemble sur le chemin d'une meilleure intégration de programmation

Rust et C ++: ensemble sur le chemin d'une meilleure intégration de programmation

La Rust Foundation a récemment publié un document important sur GitHub qui illumine les défis de l'interaction entre les langages de programmation Rust et C ++. La fondation décrit à la fois des solutions à court terme et à long terme pour une amélioration de l'interopérabilité entre ces deux langages de programmation. Cela est particulièrement pertinent car la rouille, bien qu'elle se soit établie dans la programmation liée au système, répond souvent aux applications C ++ existantes.

L'interopérabilité entre la rouille et le C ++ est un sujet central, en particulier dans le développement de systèmes intégrés ou d'autres environnements limités en ressources. Les applications mentionnées par la Rust Foundation sont des exemples de pratique: les systèmes C ++ qui implémentent de nouvelles fonctions avec des systèmes à base de rouille qui utilisent le code C ++ existant et les systèmes qui utilisent plusieurs langages de programmation. C ++ a une histoire beaucoup plus longue, c'est pourquoi de nombreux projets doivent souvent travailler avec le code C ++ existant.

Défis de l'intégration

Un obstacle principal dans l'utilisation courante de la rouille et du C ++ est l'absence d'une chaîne d'outils qui permet à C ++ et au code de rouille de mélanger dans le même fichier. Une approche basée sur FFI (Interface de fonction étrangère) est actuellement nécessaire pour connecter les deux langages de programmation. Cela se produit généralement via l'interface binaire d'application (ABI) de C, qui est plus stable et plus indépendante de la plate-forme que le C ++ - ABI plus complexe.

Un autre gros problème est que de nombreuses fonctions de sécurité de Rust sont largement perdues lors de l'interaction avec C. En conséquence, il s'agit d'un sérieux défi pour les développeurs qui souhaitent utiliser de fortes mesures de sécurité de Rust tout en interagissant avec C en même temps. La Fondation Rust décrit C comme la "Lingua Franca" pour l'intégration FFI et les difficultés de création d'une base de communication commune, l'utilisation de caractéristiques de rouille spécifiques est gravement restreinte.

Stratégies d'amélioration

La Fondation Rust a défini trois stratégies centrales dans son «déclaration de problème d'interopérabilité C ++ / Rust» pour optimiser l'interopérabilité entre ces langues. Tout d'abord, la fondation prévoit d'améliorer les outils et de résoudre les problèmes fondamentaux dans le projet Rust qui rendent l'intégration plus difficile.

En outre, l'objectif est de trouver un consensus sur une stratégie, d'identifier et de mettre en œuvre les changements nécessaires pour que la rouille augmente l'interopérabilité. Un autre point important est la coopération avec la communauté C ++ et le comité standard C ++ pour poursuivre des objectifs communs de sécurité et de performance.

Ces approches surviennent à un moment où Google a accordé le soutien généreux de la Fondation Rust de 1 million de dollars en février 2024. Ces financements visent à faire progresser davantage la coopération entre Rust et C ++.

Pour plus d'informations, les détails de l'instruction C ++ / Rust sur Github et dans les annonces de la Fondation Rust peuvent être lues. Ces initiatives pourraient potentiellement avoir un impact significatif sur le développement et l'intégration des logiciels à l'avenir, en particulier dans les domaines où la rouille et le C ++ sont partagés.

Kommentare (0)