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 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
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 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
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
Rejoignez-nous