Page 1 sur 1

Compiler en x86 sous x64

Publié : dim. 16/mai/2010 14:08
par lepiaf31
Bonjour, est-il possible de compiler une dll en 32 bits quand on est sous Seven 64 bits ? Parce que si je souhaite distribuer un programme, il faut que je fasse une version 32 bits et une 64 bits.
Merci

Re: Compiler en x86 sous x64

Publié : dim. 16/mai/2010 15:57
par case
il faut installer les 2 versions de pb, la 32 et la 64 bits avec la 32 tu compile en 32 bit avec la 64 en 64 bits :)

Re: Compiler en x86 sous x64

Publié : dim. 16/mai/2010 16:56
par Geo Trouvpatou
Dans un programme pour que celui-ci fonctionne aussi bien sur un OS32 bits que sur un OS64 bits, il ne faut plus utiliser les ".l" mais que des ".i" comme type.
Je ne sais pas si c'est la seul contrainte?

Maintenant que se passe t'il lors de la création d'une Dll.
Sont-elles exactement similaire, qu'elles soient compilées sous un OS ou l'autre?
C'est ce qu'il faudrait savoir.

Ça se trouve ta Dll faite sous 64bits fonctionnera très bien sous un OS32 bits.
Compile et trouves des idiots-testeurs :lol:

[EDIT]Petit exemple de DLL à compiler :
[EDIT2]Suite au réponses suivantes, le test avec mon code n'est plus nécessaire donc je le retire pour éviter de surcharger le post.

Re: Compiler en x86 sous x64

Publié : dim. 16/mai/2010 17:27
par lepiaf31
Non je ne pense pas que les dll fonctionnent de la même facon en 64 et 32 bits. En effet (c'est pour ça que je poste d'ailleurs), tout à l'heure j'ai utilisé ResourceHacker version 32 bits sur une dll compilé en 64 bits et là j'ai eu droit à un message d'erreur. J'ai don récupérer resourceHacker version 64 bits et là plus de problème. De plus, j'ai remarqué que certains programmes ont 2 versions d'une même dll (par exemple winrar à les dll: RarExt.dll et RarExt32.dll). Je pense donc qu'il faut créer une version 32 bits et une version 64 bits.

Re: Compiler en x86 sous x64

Publié : dim. 16/mai/2010 17:42
par cha0s
le système d'adresse et le jeu d'instruction est différent selon l'architecture, c'est donc normale que une DLL doit être compilé avec le même type de compilo que le programme qui l'utilise.