[R] Difference entre compilation 64 ou 32-bits

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

[R] Difference entre compilation 64 ou 32-bits

#1

Message 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
Modifié en dernier par jl56 le jeu. 23 sept. 2010 20:00, modifié 1 fois.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

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

#2

Message 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.
Signez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#3

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

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

#4

Message par jl56 »

Bonjour à tous

Merci de vos remarques

je passe en résolu

A+ JL56
Alexward
Niveau 4
Niveau 4
Messages : 76
Enregistré le : jeu. 27 mai 2010 01:24
Status : Hors ligne

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

#5

Message 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.
Répondre