IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

RyzenOC

Raspberry Pi et développement en C/C++

Noter ce billet
par , 23/07/2015 à 08h07 (1177 Affichages)
Le C est le langage de base du monde Unix. Le Raspberry Pi est très riche dans ce domaine, avec diverses offres Open Source et commerciales.

Le couple C/C++ reste le plus populaire du classement opéré par Tiobe Software. Il est essentiel pour développer des applications de bas niveau, en particulier dans le monde Unix, où le C est omniprésent. Ceci en fait une des solutions de base pour programmer sur un Raspberry Pi, centré par défaut sur l’OS Raspbian.

GCC, le standard
GCC est de loin la suite d’outils de compilation la plus commune au monde, en particulier sur les OS non propriétaires, où il s’agit souvent de la seule offre viable proposée en standard pour compiler du code C/C++. Il est à noter que GCC n’est pas limité à ces deux langages de programmation : Ada, Fortran, Java ou encore Objective-C sont également à sa portée.

Le support des standards C11 et C++11 est relativement avancé et la portabilité maximale. Le code conçu en C compilé sur un PC x86 Linux via GCC devrait pouvoir être recompilé sans problème sur Raspbian. La compatibilité entre des OS différents demeure plus aléatoire, chose d’autant plus logique qu’elle dépendra des librairies utilisées et des interfaces kernel proposées. Côté optimisations, GCC est un projet que les concepteurs de processeurs suivent de près, et au sein duquel ils apportent leur contribution. Chose valable aussi pour ARM ou Broadcom.

DDE, l’oublié
Pour ceux qui veulent un compilateur capable de produire du code bien adapté au monde des puces ARM, il existe toutefois une alternative à GCC : DDE. Cette offre n’est compatible qu’avec RISC OS, système à réserver aux applications embarquées et incompatible avec Linux. Quel intérêt alors pour le monde business ? Sa proximité avec l’ARM C/C++ Compiler (armcc).

Il serait faux de dire qu’armcc descend de DDE, tout comme il est faux d’affirmer que l’homme descend du singe tel que nous le connaissons. Toutefois, ces deux solutions descendent d’un produit commun, signé Acorn Computers. Le code généré présentera donc d’étranges similitudes. Un élément intéressant pour ceux qui veulent un compilateur proche d’armcc, pour une fraction de son prix. À noter également que DDE propose l’un des assembleurs ARM les plus complets du marché.

L’offre d’ARM n’est pas accessible en mouture compatible avec Raspbian. Il faut ainsi ‘crosscompiler’ le code depuis une machine x86, ce qui peut s’avérer fastidieux. DDE fonctionne directement sur un Raspberry Pi et propose un autre avantage : il est moins cher (35 livres au sein du NutPi, soit environ 49 euros).

Les alternatives
D’autres alternatives à GCC existent. Clang tout d’abord, qui s’appuie sur le projet Open Source LLVM et s’avère disponible sur Raspbian. Il n’est pas installé par défaut avec l’OS, ni aussi optimisé que peut l’être GCC. Il convient toutefois de ne pas l’écarter.

Autre offre, française celle-ci, TCC du très talentueux Fabrice Bellard. TCC fonctionne sur les plates-formes ARM. Le code généré reste peu optimisé, mais est compilé à la vitesse de l’éclair, ce qui permet d’envisager d’effectuer la phase de compilation à la volée, avant le lancement de l’application. Cette caractéristique en fait le plus embarqué des compilateurs C pour le Raspberry Pi.

Envoyer le billet « Raspberry Pi et développement en C/C++ » dans le blog Viadeo Envoyer le billet « Raspberry Pi et développement en C/C++ » dans le blog Twitter Envoyer le billet « Raspberry Pi et développement en C/C++ » dans le blog Google Envoyer le billet « Raspberry Pi et développement en C/C++ » dans le blog Facebook Envoyer le billet « Raspberry Pi et développement en C/C++ » dans le blog Digg Envoyer le billet « Raspberry Pi et développement en C/C++ » dans le blog Delicious Envoyer le billet « Raspberry Pi et développement en C/C++ » dans le blog MySpace Envoyer le billet « Raspberry Pi et développement en C/C++ » dans le blog Yahoo

Catégories
Sans catégorie

Commentaires