C/C++

Les utilisateurs du CC-IN2P3 ont plusieurs compilateurs du langage C/C++ à leur disposition.

Compilateurs GNU

GNU a développé des compilateurs pour les langages C/C++ fournis avec le systeme Linux.

  • gcc (via gcc or cc) est le compilateur GNU pour le langage C.

  • g++ (via g++ or c++) est le compilateur GNU fourni avec le systeme Linux.

Pour connaître la version du compilateur faites :

% gcc -v
% cc -v
% g++ -v

Veuillez vous référer à la syntaxe des logiciels de gestion d’environnement pour lister et charger la version souhaitée.

La documentation est disponible via la commande man comme dans l’exemple ci-dessous :

% man gcc

Compilateurs PGI

Le CC-IN2P3 dispose d’un certain nombre de licences flottantes (via FlexLM) pour l’utilisation du compilateur C/C++ fourni par PGI (Portland group). Pour compiler votre code source, suivez la syntaxe des logiciels de gestion d’environnement pour lister et charger la version souhaitée.

Veuillez trouver ici la documentation PGI officielle.

  • pgcc est le compilateur PGI pour le langage C

  • pgc++ est le compilateur PGI pour le langage C++

  • pgdbg est le deboguer

  • pgprof est le profiler

Pour consulter les options de la commande pgcc et pgc++ utilisez la commande man comme dans l’exemple ci-dessous :

% man pgcc
Exemple de syntaxe de compilation :

% pgcc -O -c test.c

Si vous voulez faire l’édition des liens (« linker ») et exécuter votre programme avec la bibliothèque CERN (CERNLIB), il faut ajouter la bibliothèque libg2c.a fournie avec le compilateur g77 avec laquelle la CERNLIB a été compilée. La même remarque est valable pour les bibliothèques compilées avec g77 (comme la bibliothèque NAG par exemple).

% set g2c = '-lg2c'
% pgcc -O -o test  test.c   `cernlib`  -lpthread  -lm ${g2c}
% ./test

Compilateur Intel

Le CC-IN2P3 dispose d’un certain nombre de licences flottantes (via FlexLM) pour l’utilisation des compilateurs fourni par Intel.

Ce logiciel regroupe un ensemble de compilateurs C/C++ et Fortran avec le deboggeur interactif idb et avec les bibliothèques :

  • MKL (Math Kernel Library) ;

  • IPP (Integrated Performance Primitives) ;

  • Threading Building Blocks for Linux.

Pour compiler votre code source, suivez la syntaxe des logiciels de gestion d’environnement pour lister et charger la version souhaitée. Pour consulter les options du compilateur :

% man icc
Exemple de syntaxe de compilation :

% icc -O -c test.c

Si vous voulez faire l’édition des liens (linker) et exécuter votre programme avec la bibliothèque CERN (CERNLIB), il faut ajouter la bibliothèque libg2c.a fournie avec le compilateur g77 avec laquelle la CERNLIB a été compilée. La même remarque est valable pour les bibliothèques compilées avec g77 (comme la bibliothèque NAG par exemple).

% set g2c = '-lg2c'
% icc -O -o test    test.c  `cernlib`  -lpthread  -lm  ${g2c}
% ./test

Veullez trouver ici la documentation Intel C++ offcielle.

Bibliothèques NAG

Veuillez vous référer à la syntaxe des logiciels de gestion d’environnement pour lister et charger la version souhaitée.

Pour une documetation detaillée, veuillez vous référee au site de l’editeur.