Compilation de sources C/C++ pour Android

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
55
Mois de parution
juillet 2011
Domaines


Résumé
Qui dit “Android” dit généralement “code en Java”. C'est d'ailleurs là, sans doute, l'une des raisons du succès de la plateforme et de l'affluence massive de développeurs dès les premières heures de la mise en ligne des SDK. Mais depuis quelques versions, il est également possible d'embarquer du code C/C++ et de le compiler pour la plateforme de Google sur architecture ARM. Il est même possible de créer, le plus naturellement du monde, un binaire ARM. Là, cela devient vraiment intéressant.

La compilation de binaires (exécutables et bibliothèques dynamiques) est l'oeuvre du NDK, Native Development Kit. La plupart des applications Android fonctionnent dans une machine virtuelle Dalvik. Le NDK est initialement prévu pour vous permettre d'utiliser un code natif (comprendre “pour le CPU ARM”) développer en C et C++ et de l'utiliser, via le framework JNI (Java Native Interface), dans votre code Java. L'objectif est double : réutiliser un maximum de code déjà existant (sans réimplémenter) et accessoirement, augmenter la vitesse d'exécution.

L'intéraction Java/binaire peut être envisagée de deux manières (la seconde n'est disponible que depuis l'API niveau 9, Android 2.3 Gingerbread) :

- Utilisation de JNI et des fonctionnalités implémentées en C/C++ dans votre code Java. Ceci présente l'intérêt de déplacer le code nécessitant des ressources ou des fonctionnalités particulières vers un langage plus “système” comme le C. On conserve alors la...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Utilisation de l’IDE Visual Studio Code

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
112
Mois de parution
janvier 2021
Domaines
Résumé

Visual Studio Code, un outil dont Microsoft est à l’origine, est Open Source et gratuit, multiplateforme et ouvert grâce à son architecture d’extensions. Mis à jour mensuellement, il est écrit par des développeurs pour des développeurs.

La surcharge ou overloading en Python

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
112
Mois de parution
janvier 2021
Domaines
Résumé

On vous l’a dit et répété : Python est un langage à typage dynamique ! Ah... donc, on ne peut pas réaliser de surcharge de fonctions ou de méthodes ? Pour les débutants, on dira non, pour les autres, on peut toujours s’arranger avec Python...

Accélérez vos traitements en développant votre propre solution de parallélisation

Magazine
Marque
GNU/Linux Magazine
Numéro
244
Mois de parution
janvier 2021
Domaines
Résumé

Certains de vos traitements lancés par des scripts shell s'exécutent bien trop lentement à votre goût, alors que certaines tâches séquentielles pourraient en fait s'exécuter simultanément : cet article va vous montrer de façon détaillée comment les accélérer en les parallélisant.

CrossDev sous Eclipse

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
112
Mois de parution
janvier 2021
Domaines
Résumé

Le développement logiciel nécessite l’utilisation d’outils pour l’écriture, la compilation et le débogage de code. La prise en main de ces outils n’est pas toujours évidente, alors lorsqu’on en maîtrise un, autant l’utiliser dans le maximum de cas. Eclipse permet cela et nous allons le voir dans le cas du développement embarqué.

L’édition des liens démystifiée

Magazine
Marque
GNU/Linux Magazine
Numéro
244
Mois de parution
janvier 2021
Domaines
Résumé

Parmi les étapes concourant à la fabrication d’un exécutable, l’édition des liens est certainement la plus méconnue. Elle est pourtant cruciale à plus d’un titre. Le choix entre édition statique et dynamique des liens a notamment des implications sur la facilité de développement, la sécurité et la performance.