Interfaces DLL

spiky31
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008
- 6 févr. 2006 à 17:33
spiky31
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008
- 6 févr. 2006 à 18:19
Bonjour

J'ai remarqué que les fichiers .h (headers) servant d'interface a une dll définie commencent toujours avec un code du genre :
#pragma pack(push,4)
ou
#pragma pack(push)
#pragma pack(1)
et finissent par :
#pragma pack(pop)

Quelqu'un peut me dire a quoi ca sert ?

Merci d'avance

4 réponses

BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
19
6 févr. 2006 à 17:50
Pour modifier l'alignement des données, surtout pour les structures.
A moins de savoir exactement pourquoi modifier l'alignement, il est préférable de laisser le compilo les aligner correctement sinon tu risques une importante perte de performance.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
spiky31
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008

6 févr. 2006 à 17:54
Ok bien compris

Mais quelles sont les raisons qui peuvent expliquer pourquoi on modifie cet alignement ?
0
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
19
6 févr. 2006 à 18:08
Pour définir une structure avec celle d'un certain driver ou fournir une struct compatible avec l'alignement d'un langage interprété ou que sais-je encore.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
spiky31
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008

6 févr. 2006 à 18:19
Ok merci beaucoup
0