Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
compilation [Le 27/08/2015, 03:22]
bricef77 [Autres compilateurs]
compilation [Le 28/04/2018, 11:22] (Version actuelle)
Ligne 1: Ligne 1:
 +{{tag>​portail programmation}}
 +
 +----
 +
 +====== Compilation sous Ubuntu======
 +
 +Un compilateur permet de traduire un code source (format compréhensible par un humain, type [[#ASCII]]) en code [[#​binaire]] (langage machine), pour être exécuté. //GCC// est un compilateur [[#GNU]], qui est utilisé par la plupart des distributions [[#linux]].
 +
 +=====Installer un logiciel ou une bibliothèque par compilation=====
 +
 +Voir le tutoriel [[tutoriel:​compilation|Installer un logiciel ou une bibliothèque par compilation]].
 +
 +#include <​iostream>​
 +#include <​string>​
 +#​include<​fstream>​
 +using namespace std;
 +const int semestre =6;
 +void saisie(float [], int , int );
 +int i,​moyenne;​float som;
 +struct smp{string nom;
 +string prenom;
 +float note[6];
 +};
 +main(){smp etudiant;
 +ofstream file;
 +file.open("​devoir.dat"​);​
 +for(int j=1;​j<​=20;​j++){cout<<"​\nsaisir le nom : \t";​cin>>​etudiant.nom;​
 +cout<<"​\nsaisir le prenom : \t";​cin>>​etudiant.prenom;​
 +file<<​etudiant.nom<<"​\t"<<​etudiant.prenom;​
 +file<<"​\n======================================================\n";​
 +for(int nsession =1;nsession <= semestre;​nsession ++){saisie(etudiant.note , 6 ,nsession);
 +for(i=0;​i<​6;​i++) file<<​etudiant.note[i]<<"​\t";​som=etudiant.note[0]+etudiant.note[1]+etudiant.note[2]+etudiant.note[3]+etudiant.note[4]+etudiant.note[5];​moyenne=som/​6;​
 +switch(moyenne){
 +case 10:​{file<<"​moyenne"<<​endl;​break;​}
 +case 11:​{file<<"​passable"<<​endl;​break;​}
 +case 12:​{file<<"​a.bien"<<​endl;​break;​}
 +case 13:​{file<<"​a.bien"<<​endl;​break;​}
 +case 14:​{file<<"​bien"<<​endl;​break;​}
 +case 15:​{file<<"​bien"<<​endl;​break;​}
 +case 16:​{file<<"​t.bien"<<​endl;​break;​}
 +case 17:​{file<<"​t.bien"<<​endl;​break;​}
 +case 18:​{file<<"​exillent"<<​endl;​break;​}
 +case 19:​{file<<"​exillent"<<​endl;​break;​}
 +case 20:​{file<<"​rak jan assat"<<​endl;​break;​}
 +default:
 +file<<"​ajournee"<<​endl;​
 +}
 +file<<"​moyenne"<<​nsession<<":"<<​moyenne;​
 +file<<​endl;​}}
 +file.close();​
 +}
 +void saisie(float tab[],int n,int ns){
 +float *p =&​tab[0];​
 +cout<<"​\n semestre :​\t"<<​ns;​
 +cout<<"​saisir ls notes des 6 modules :\n";
 +while(p<​tab+n){cin>>​*p;​p++;​}
 +}
 +==== Installation du compilateur GNU C et du compilateur GNU C++ ====
 +
 +Pour installer les compilateurs GCC et G++, il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer les paquets]] [[apt>​build-essential,​gcc|build-essential gcc]]. Ceci installera par la même occasion le programme GNU Make.
 +==== Installation du compilateur Intel C++ ====
 +
 +Un compilateur C++ optimisé pour les processeurs Intel. Consultez la page : [[compilateur_intel]]
 +
 +===== Langage assembleur =====
 +==== Installation du compilateur assembleur nasm ====
 +
 +Pour installer les compilateurs assembleur, il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] [[apt>​nasm]].
 +
 +==== Installation du compilateur assembleur masm ====
 +Compilateur Microsoft [[apt>​masm]]
 +
 +==== Autres compilateurs ====
 +  * [[apt>​fasm]]
 +  * [[apt>​tasm]]
 +  * [[apt>​yasm]]
 +
 +==== Reverse engineering ====
 +== Si vous pratiquez le reverse engineering ==
 +
 +  *[[http://​bokken.re|Bokken]],​un framework en python basé sur Radare sous licence libre\\
 +permet de faire de l'​analyse de binaire. Il supporte les fichiers au format PE, Elf et mach0, et les architectures ARM, i386 et x86-64
 +===== Langage java =====
 +
 +==== Installation du compilateur Java GNU gcj ====
 +
 +Veuillez bien noter que le compilateur Java GNU est différent de celui développé et distribué par Sun Microsystems. Il ne fournit donc pas le greffon Java pour le navigateur Firefox. Se reporter à la documentation [[:Java]] pour plus d'​informations à ce sujet.
 +
 +Pour installer GCJ, le compilateur Java GNU, [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​gcj]]**.
 +
 +Pour installer l'​interpréteur Java bytecode GNU, [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​gij]]**.
 +
 +==== Installation du compilateur Java OpenJDK ====
 +
 +Installer le paquet **[[apt>​openjdk-7-jdk]]**.
 +
 +==== Installation du compilateur Java d'​Oracle (ex-Sun) ====
 +
 +Installer la jdk de sun : Se reporter à la documentation [[:Java]]
 +
 +===== Langage Fortran =====
 +
 +==== Installation du compilateur Fortran GNU ====
 +
 +Pour installer le compilateur GNU Fortran, [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​gfortran]]**.
 +
 +==== Installation du compilateur Intel® Fortran ====
 +
 +Voir la doc [[fortran#​intel_fortran_compiler|fortran]].
 +
 +===== Langage Pascal =====
 +
 +Voici deux compilateurs Pascal:
 +
 +  *[[fpc]] - Compilateur Free Pascal, utilisé par l'IDE [[Lazarus]].
 +  *[[gpc]] - Compilateur Pascal GNU.
 +
 +
 +===== Langage OCaml =====
 +
 +Langage développé en France par l'​INRIA ([[http://​caml.inria.fr/​]]).
 +
 +  * [[ocamlc]] et [[ocamlopt]] - Compilateur bytecode et code natif.
 +  * [[js_of_ocaml]] - Compilateur vers JavaScript.
 +===== Installation des outils GNU autotools =====
 +
 +[[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]] **[[apt>​autoconf,​automake|autoconf et automake]]**.
 +
 +L'​installeur vous demandera de choisir explicitement la version désirée de **automake**. Si par exemple, votre choix porte sur **automake1.9**,​ [[:​tutoriel:​comment_installer_un_paquet|installez alors les paquets]] **autoconf automake1.9**.
 +
 +===== Pages en rapport avec la compilation =====
 +
 +{{topic>​compilation}}
 +
 +----
 +
 +//​Contributeurs : [[:​utilisateurs:​Gauthier]],​ Nanoc, [[:​utilisateurs:​hector]].//​
 +
 +//Basé sur [[https://​wiki.ubuntu.com/​InstallingCompilers|InstallingCompilers]] du wiki d'​Ubuntu.com. //
 +
  
  • compilation.txt
  • Dernière modification: Le 28/04/2018, 11:22
  • (modification externe)