Les ressources en langage C/C++

Septembre 2016


1. Principe


Les ressources peuvent souvent s'avérer utiles pour la version finale d'un programme, ou avant. Cela consiste à stocker des images, des fonds, des curseurs, des dll ou même un autre programme dans le programme lui même, dans le même dossier ou sous-dossiers.
Cela aura pour conséquence de rendre plus clair le dossier où se situe le programme, mais cela alourdira inévitablement l'exécutable.

 

2. Utilisation


2.1 Utilisation normale


Pour utiliser les ressources avec le langage C/C++, il faut créer un fichier d'extension ".rc", et le placer dans le même dossier que les autres fichiers du projet.

Exemple : contenu dossier "jeu" avec codeblocks :
  • Fichiers sources
    • main.c
    • functions.c
  • Fichiers headers
    • headers.h
    • globalesVar.h
  • Fichier ressources
    • res.rc
  • Autres
    • jeu.layout
    • jeu.depend
    • jeu.cdp



Le fichier se trouve donc dans le même dossier que les autres fichiers.
Dans un fichier ressource, il doit y avoir un seul fichier joint par ligne, et une ligne doit commencer par un numéro.

Exemple :
ICON "icone.ico"
RCDATA "autreProgramme.exe"



Attention : Si un fichier se trouve dans un sous-dossier, il faut indiquer ce sous-dossier :
1 ICON "icones/icone.ico"


 

2.2 Utilisation avec Qt


L'utilisation des ressources peut aussi être utile avec Qt, en C++. Ici, le principe n'est pas le même. Les ressources ne se trouveront pas dans un fichier avec pour extension ".rc", mais avec une extension ".qrc".
Il doit être indiqué au fichier ".pro" dans la partie #Input, de cette manière :

#input

RESOURCES += res.qrc



Voici la structure que doit avoir votre fichier ".qrc" :
<RCC>
          <qresource>
                    <file>icone.ico</file>
                    <file>saveIcone.ico</file>
                    <file>quitterIcone.ico</file>
          </qresource>
</RCC>


Cela se rapproche de la syntaxe du langage HTML. Les fichiers à intégrer se trouvent entre les balises "<file>" et "</file>".

 

3. Mots-clés


La liste des mots-clés des fichiers ressources se trouve sur le site de la msdn, ici .



Merci à ozox pour cette astuce.

A voir également :

Ce document intitulé «  Les ressources en langage C/C++  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.