Environnement de développement pour le C

Introduction

Depuis quelque temps, je suis à la recherche d'un environnement de développement pour enseigner le C.

Les contraintes sont les suivantes :

  • IDE (pas des produits détachés)
  • Multiplateformes (en tout cas Windows et MacOSX)
  • Debugger intégré
  • Autocomplétion

Recherches

Jusqu'à maintenant, le produit utilisé était Microsoft Visual Studio. Celui-ci n'étant pas multiplateforme, il s'agit de trouver une alternative.

Lors de ma phase de recherche, je me suis penché sur les produits suivants :

Après les avoir tous évalués, j'ai choisi Netbeans. Celui-ci présente, selon moi, les avantages suivants :

  • Utilisé par les étudiants plus tard dans leur cursus pour les cours Java
  • Open Source
  • Multiplateformes
  • Traduit en français

De plus, même si je ne l'ai pas beaucoup utilisé pour écrire du C, j'écris la quasi-totalité de mes projets Java avec. J'ai donc beaucoup d'expérience sur ce produit et je trouve qu'il est de très bonne qualité.

Dans un premier temps, je n'avais pas envisagé Netbeans car une mauvaise expérience avait eu lieu, il y a quelques années. Sous Windows, le compilateur gcc était installé à partir du projet cygwin et cela ne s'est pas toujours très bien passé avec les différentes variantes d'installations.

GCC

Les trois EDI envisagés plus haut nécessitent l'installation séparée d'un compilateur. Voici, par exemple, la liste des compilateurs supportés par Code::Blocks.

Pour débuter, je vais essayer le plus courant de ces compilateurs (gcc) et, s'il ne donne pas satisfaction, j'étudierai des variantes plus exotiques.

MacOSX

Les outils de développement regroupés dans le projet xcode de Apple contiennent le compilateur gcc. Ce qui me dérange c'est que xcode contient beaucoup plus de choses que gcc. Ayant un disque ssd, je préfère économiser un peu de place, donc je me suis mis à la recherche d'un package prêt à l'emploi qui permet de n'installer que le gcc.

Voici ce que j'ai trouvé : gcc-10.6. J'ai choisi la version préconstruite pour mon OS (Snow Leopard) : GCC-10.6.pkg

 Test

Après cette installation, je fais un petit test de gcc :

Je crée le fichier "helloworld.c" dans le dossier /tmp

#include 
 
int main(int argc, char** argv) {
 
    printf("Hello World!\n");
 
    return 0;
}

Je le compile et l'essaye :

Windows

MinGW

Pour éviter les problèmes liés à cygwin cités précédemment, je vais essayer d'utiliser MinGW.

Téléchargement

Installation

Une fois le programme d'installation démarré, je ne choisis que le strict nécessaire : "C Compiler" et "MSYS Basic System".
Voici un aperçu de la dernière page avant l'installation :

Installing:
      mingw-get
      pkginfo
      C Compiler
      MSYS Basic System
 
Using pre-packaged repository catalogues (20120426)
 
Destination location:
      C:\MinGW

L'installation démarre ensuite et télécharge les fichiers dont j'ai besoin. Une fois l'installation terminée, j'ai un dossier "C:\MinGW" de 170 Mb avec le compilateur gcc et tout ce qu'il faut pour faire du développement C sous Windows.

Test

Comme pour l'installation sous MacOSX, je crée le fichier helloworld.c dans le dossier %TEMP% de Windows.

#include 
 
int main(int argc, char** argv) {
 
    printf("Hello World!\n");
 
    return 0;
}

Netbeans

Pour ce test, j'ai choisi de télécharger et d'installer la dernière version de Netbeans (7.2) uniquement avec le plugin C.

MacOSX

Le même magnifique test que précédemment donne un résultat tout aussi concluant.

Windows

L'intégration de gcc sous Windows est un peu plus compliquée que sous MacOSX. Il nous faut la faire manuellement, car Netbeans n'arrive pas à trouver gcc automatiquement comme sous MacOSX.

Path

Selon Wikipedia : "Sous Windows, si un exécutable n'est pas à l'emplacement par défaut, la variable %PATH% indique dans quels répertoires le chercher."

Avant de démarrer Netbeans, il faut modifier la variable path pour que cet EDI trouve les outils de "make" dont il a besoin. Si cette configuration n'est pas réalisée, la compilation ne va pas fonctionner et le message d'erreur "mkdir: Command not found" sera affiché.

Chemin à ajouter dans le PATH :

C:\MinGW\msys\1.0\bin

C plugin

Il s'agit maintenant de configurer le Plugin C de Netbeans pour utiliser le gcc que nous installé avec MinGW.


Test

Une fois ces quelques efforts de configuration terminés, la compilation sous Netbeans fonctionne aussi bien que sous MacOSX.

Conclusion

Netbeans sera utilisé comme EDI pour d'autres langages de programmation (Java et PHP). Il est donc intéressant de pouvoir l'utiliser également pour le C. Cela évite de multiplier les installations et permet de se concentrer sur les langages eux-mêmes plutôt que sur les outils de développement. Je vais donc utiliser cet outil pour mon cours de C.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>