Intégrer fichier dans executable

mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023 - 6 janv. 2010 à 09:09
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 6 janv. 2010 à 15:07
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 janv. 2010 à 10:02
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++
0
mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023
6 janv. 2010 à 11:51
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.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 janv. 2010 à 15:07
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++
0
Rejoignez-nous