Top Promos Apple Test Apple Antivirus Mac Dock Thunderbolt Sunology Comparatif iPhone Nettoyeur Mac

Articles

Divers

Compiler un programme C++

Par Coco - Mis à jour le

Le programme



Avant de penser à la compilation il faut bien sûr programmer les fichiers sources. Ici nous prendrons un exemple très simple ne comportant qu'un seul fichier lui même très basique puisque le programme se contente d'afficher "Hello world !". Son code source est le suivant


#include <iostream>

using namespace std;

int main(int argc, char *[ argv)
{
  cout << "Hello world !" << endl;
  return 0;
}


Comme vous le voyez c'est extrêmement simple, je ne m'étendrais pas là dessus. Passons plutôt à la compilation.

La compilation



Avec ProjectBuilder



Compiler un programme avec ProjectBuilder est très simple, il suffit de cliquer sur le bouton Build...
En réalité ProjectBuilder utilise pour compiler votre programme un modèle choisi selon le type de target que vous avez choisi. Dans notre cas il fallait évidemment choisir C++ Tool. Si vous êtes observateur vous aurez remarqué que PB affiche dans un volet les commandes qu'il exécute. Cela montre bien qu'il ne fait que lancer une suite de commandes au shell, manoeuvre que nous pouvons également accomplir à la main.

Vous pouvez aussi modifier les options de gcc dans les réglages de la target pour plus de souplesse.
Il n'est donc pas nécessaire de connaitre l'usage de gcc pour compiler un programme avec PB mais c'est tout de même grandement conseillé, cela sert toujours à un moment ou un autre.

En réalité PB n'utilise pas directement gcc: il passe par jam, un système équivalent au Makefile dont je vous parlerai un peu plus loin.

En ligne de commande



Vous pouvez donc appeler gcc directement depuis la ligne de commande. En plus de compiler, gcc fait aussi office de linker par le biais de ld. Il suffit donc d'une ligne de commande pour obtenir un executable.

Pour compiler notre exemple, la ligne la plus simple est:
c++ helloworld.cpp

Vous remarquerez que nous utilisons c++, un lien symbolique verc g++3, le compilateur c++.
Une pléthore d'options est disponible, je vous laisse consulter la page de manuel pour une liste exhaustive.
Voilà toutefois une utilisation courante:
c++ -Wall -o helloworld helloworld.cpp

Nous demandons là au compilateur d'afficher un maximum de warnings et de nommer sa sortie (c'est -à-dire l'executable) helloworld. Par défaut gcc appelle a.out sa sortie.

Nous n'avons ici qu'un seul fichier source mais vous pouvez en compiler autant que vous voulez en une seule ligne, il suffit de les ajouter à la fin de la ligne de commande:
c++ -Wall -o myprog source1.c source2.c ...

Afin d'éviter d'avoir à taper tout cela pour les gros projets (surtout qu'il y a souvent plus d'options que cela) à chaque compilation, on utilise un système particulier: GNU Make.
La commande make associée à un fichier Makefile dans le dossier du projet permet de compiler un programme complet en ne tapant que quatre lettres ! A travers l'écriture de Makefiles, make dispose d'énormes possibilités. Sur ce point je vous recommande la documentation fournie avec les Developer Tools.
Ici il serait ridicule de créer un Makefile; si vous cherchez des exemples, regardez les sources de n'importe quel programme en ligne de commande, quasiment tous utilisent ce système.

Conclusion



Ca y est, vous savez tout sur les différents moyens de compiler du code c++. En fait c'est exactement comme du code C sauf que vous appelez c++ (ou g++ ou g++3) au lieu de cc. Maintenant il ne vous reste plus qu'à écrire du code à compiler: à vos claviers !

De nouvelles sessions "Today at Apple" pour séduire les PME !

De nouvelles sessions "Today at Apple" pour séduire les PME !

Apple vient de dévoiler une série de sessions Today at Apple destinées aux patrons de petites entreprises et aux entrepreneurs...

La CNIL a enregistré un nombre record de plaintes en 2023

La CNIL a enregistré un nombre record de plaintes en 2023

La Commission nationale informatique et libertés a enregistré un nombre record de plaintes en 2023. Marquée notamment par l'augmentation...

Google Maps de retour dans la recherche Google ?

Google Maps de retour dans la recherche Google ?

Ce matin, une petite surprise est apparue chez certains utilisateurs français (mais pas tous), le retour de Google Maps dans la recherche Google.

Le pack Wi-Fi 7 Mesh TP-Link Deco BE85 en promo ! 4 Gb/s en Wi-Fi !

Le pack Wi-Fi 7 Mesh TP-Link Deco BE85 en promo ! 4 Gb/s en Wi-Fi !

Si vous désirez vous offrir un réseau sans fil performant couvrant une très grande surface, les kit Wi-Fi Mesh sont à ce jour la...

Trop incitatif, TikTok lite sera bientôt suspendu en Europe

Trop incitatif, TikTok lite sera bientôt suspendu en Europe

En définitive, le mode de fonctionnement de la dernière application de ByteDance (la maison mère chinoise du réseau social presque...

Samsung en crise passe ses cadres à la semaine de 6 jours

Samsung en crise passe ses cadres à la semaine de 6 jours

La situation n'est pas au beau fixe pour Samsung. Avec la dégradation des résultats de certaines de ses activités et le durcissement des...

Canal+ : le mode Tribunes coupe le sifflet des commentateurs de foot !

Canal+ : le mode Tribunes coupe le sifflet des commentateurs de foot !

Canal+ va permettra à ses abonnés d'activer un nouveau mode afin de couper les commentaires et de son plonger véritablement dans...

L'Apple Store de Parly 2 déménage ce samedi ! Mais où ?

L'Apple Store de Parly 2 déménage ce samedi ! Mais où ?

Depuis un an, l'Apple Store de Parly 2 se préparait à déménager... mais finalement, ce ne sera pas très loin. Situé...

Commentaires

Connectez-vous/créez un compte pour réagir à cet article !
Oops, vous n'êtes pas connecté

Pour évaluer un commentaire sur Mac4Ever, vous devez être connecté avec votre compte utilisateur.

15 commentaires
Connectez-vous/créez un compte pour réagir à cet article !
Oops, vous n'êtes pas connecté

Pour évaluer un commentaire sur Mac4Ever, vous devez être connecté avec votre compte utilisateur.