Un programme qui fonctionne sur un système 32 bits fonctionnera-t-il de manière systématique sur son équivalent 64 bits ? (ex ; Win 7 32bits et Win 7 64 bits)
Comme le precise les autres d'une facon un peu plus longue, la reponse courte est: non, un programme qui fonctionne sur un systeme 32 bits ne tournera pas de maniere systematique sur son equivalent 64 bits.
Ca depends beaucoup du systeme =) Rien te garanti q'une application windows 32 bits tournera necessairement sur un windows 64 bits.
Des liens qui peuvent t'interesser:
http://en.wikipedia.org/wiki/WoW64
http://msdn.microsoft.com/en-us/library/bb427430(v=VS.85).aspx
Quand je code un programme, mettons en C : c'est mon compilo qui gère la notion de 32 bits / 64 bits n'est-ce pas ? Du coup, cela ne change absolument rien pour mon code ?
Si, si tu veux que ton code soit multi-architecture compatible, il y a des restrictions a prendre dans ton code. Comme le dis dnoob, sizeof( DWORD* ) peut etre different selon l'architecture, donc toutes les lignes du style unsigned int a = (unsigned int) &b; (conversion pointer en int) auront une grande chance de ne pas fonctionner en 64 bits; c'est l'exemple le plus classique, mais il y a d'autres choses bien entendu.
En plus du lien de la msdn cite plus haut, je te conseille une petite lecture de http://www.codeproject.com/KB/architecture/20ISSUES64BIT.aspx