Page 1 sur 1

[R] Difference entre compilation 64 ou 32-bits

Posté : mar. 21 sept. 2010 21:33
par jl56
Bonjour à tous

J'avais remarqué que l'udf que j'utilisais pour envoyer des mails ne fonctionnais pas si le script, compilé en 32bit,
était lancé sur un system 64 bit.

Du coup pour ces scripts j'avais 2 compilations une en 32 l'autre en 64

Pour un autre test, je vérifie la présence d'un programme dans le dossier c:\windows\system32\...
j'utilise donc la macro @systemdir
Sur un system 64 ( windows 2008 ) pas de problème avec la version 64, par contre si je lance mon script 32
la macro @systemdir me retourne c:\windows\sysWOW64\ !!
Sur un system 32 le script en 64 bit ne se lance pas, normal et il y a un message très clair.

comme vous pouvez le constaté, j'ai trouvé la solution à mon problème
Mais j'aimerais avoir vos remarques SVP, Je passerai ce post en résolu dans 2 / 3 jours

A+ JL56

Re: [..] encore une difference entre compilation 64 ou 32 bit

Posté : mar. 21 sept. 2010 21:59
par Iste
L’exécution d'un programme 32bit sur un système 64bit est en émulation.
Il est donc normal que les macro renvoient des valeurs différentes.

Les systeme 32bit ne possèdent pas d'émulation 64bit, normal donc qu'on ne puisse pas utiliser les soft 64bit dessus.

Enfin, si certain udf ne fonctionnent pas en 64bit, c'est surement a cause de l'utilisation de dll extèrnes, bien que je trouve cela assez étrange, il doit y avoir une raison.

Bref, rien de mystérieux, mais vous devriez lire de la doc a ce sujet sur le net pour mieux le comprendre.

Re: [..] encore une difference entre compilation 64 ou 32 bit

Posté : mar. 21 sept. 2010 23:59
par Tlem
Pour pouvoir utiliser un script compilé en 32-Bits sur un OS 64-Bits , vous devez prendre en compte les caractéristiques de ce dernier.
Les DLL doivent aussi être en corrélation avec l'OS, sous peine de plantage.
Les macros AutoIt peuvent (comme vous l'avez constaté) vous renvoyer des données non standard.

Donc, pour résumer, c'est à vous d'adapter le script en conséquence pour qu'il s'adapte aux deux types d'OS.

Re: [..] Difference entre compilation 64 ou 32-bits

Posté : jeu. 23 sept. 2010 19:59
par jl56
Bonjour à tous

Merci de vos remarques

je passe en résolu

A+ JL56

Re: [R] Difference entre compilation 64 ou 32-bits

Posté : jeu. 23 sept. 2010 23:08
par Alexward
Salut, moi je fonctionne sous 64 Bits et si je compile un script complet en 32 bits, il y a certaine fonction qui ne fonctionne pas corectement... Comme le RegRead et le RegWrite... Parfois le GuiCtrlSetPic s'agrandi tout seul..
PS: Je n'est aucun DllCall ou truc du genre dans mon script.. Peut-etre dans une include?

Enfin.. C'était juste pour ajouter un peu plus de détail.