Table des matières
Compilation
Le compilateur par defaut est GCC qui inclut le programme gcc pour les programmes en C et g++ pour les programmes C++.
Si nécessaire, il est aussi possible de charger un module gcc pour avoir une version différente de celle qui est installée. Par exemple:
module load gcc
Il est toutefois possible que ces versions ne fonctionnent pas adéquatement dans certaines conditions. Il est donc recommendé d'utiliser le compilateur par défaut.
Pour compiler un programme utilisant la librairie cplex, vous devez charger le module cplex-studio
module load cplex-studio
Options de compilation
Commande | Description des Options |
---|---|
-O | Ooptimiser le programme. |
-g | Déboguer le programme |
-Wall | Avoir plus d'avertissement à la compilation. |
-o fichier | Spécifier le nom du programme. |
-c | Indiquer qu'on veut seulement créer un fichier objet (.o) |
-I dir | Ajouter des répertoires non standard où il y a des fichiers entête |
-L dir | Ajouter des répertoires non standard où il y a de librairies |
-l nom | Utiliser une librairie. |
Exemples
Exemple 1
Si votre programme n'a qu'un seul fichier, vous pouvez utiliser la commande suivante pour créer un programme optimisé.
gcc -O -Wall -o hello hello.c
Si vous avez besoin de déboguer le programme, remplacez l'option « -O » par l'option « -g ».
Exemple 2
Si votre programme a plus d'un fichier, il est habituel de créer des fichiers objets et ensuite d'assembler le programme. C'est la méthode habituellement utilisée lorsqu'on fait un Makefile.
gcc -O -Wall -c hello1.c gcc -O -Wall -c hello2.c gcc -O -o hello hello1.o hello2.o
Exemple 3
Si le programme est en C++ et non en C, on remplace la commande gcc par g++
g++ -O -Wall -c hello1.c g++ -O -Wall -c hello2.c g++ -O -o hello hello1.o hello2.o
Exemple 4
Compilation d'un programme C utilisant cplex.
gcc -O -Wall -DNDEBUG -DIL_STD -c lpex1.c gcc -O -o lpex1 lpex1.o -lcplex -lm -lpthread
Exemple 5
Compilation d'un programme C++ utilisant cplex et concert.
g++ -O -Wall -DNDEBUG -DIL_STD -c cutstock.cpp g++ -O -o cutstock cutstock.o -lilocplex -lconcert -lcplex -lm -lpthread