Intégrer fichier dans executable

Signaler
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour

Je voudrais savoir quels sont les autres moyens d'intégrer un fichier dans un exécutable sans utiliser les ressources.

Ayant vu des programmes possédant des images ou des sons alors que tous les fichiers du programme ne contenaient pas ces fichiers en tant que ressources.
Pour certains, j'ai retrouvé ces fichiers dans l'exe (avec un éditeur hexa)

J'ai pensé à la possibilité d'utiliser une variable contenant le contenu du fichier, mais je trouve ça un peu lourd (et quel est l'intéret dans ce cas ?)


Merci

3 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
BYTE bt[2] = {0, 1};

L'équivalent d'un fichier contenant 2 octets (0 et 1).

Voila bien une question qui n'en est pas une.

ciao...
BruNews, MVP VC++
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015

dans ce cas, quel est l'interet de creer des variables contenant plus kilo-octets ?

ce que je veux dire, c'est pourquoi "s'amuser" à rentrer octet par octet le contenu d'un fichier dans une variable au lieu de faire une insertion par ressource ?

surtout quand ce fichier est très grand
c'est sûr que pour une dizaine d'octet, on peut créer une variable

par exemple, les programmes d'installation qui extraient d'eux memes les fichiers à installer, n'ont pas les fichiers en ressource.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Par force on a les données:
- soit direct dans l'exe (ressource, data ou const).
- soit dans fichiers externes qu'on charge à l'exécution.

Les exécutables qui font les setup.exe mettent les fichiers qu'on leur indique en ressource du setup.exe, il n'y a pas de miracle.

Il y a peu, j'étais sur un prog de calculs qui se servait d'une table:
double pDBLS[2048];
calculée 1 seule fois au début (comme des constantes) et utilisée à répétition sur les octets d'un fichier.
Pour éviter cela (le calcul), j'ai fait le prog qui m'a écrit:
const double pDBLS[2048] = {val0, val1, etc...};
Tu peux faire de meme avec tes fichiers que tu ne veux pas mettre en ressource.

ciao...
BruNews, MVP VC++