CPUID : DES INFORMATIONS SUR VOTRE PROCESSEUR (INTEL ET AMD)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
21 août 2004 à 13:50
BlackGoddess
Messages postés338Date d'inscriptionjeudi 22 août 2002StatutMembreDernière intervention14 juin 2005
-
23 août 2004 à 17:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
BlackGoddess
Messages postés338Date d'inscriptionjeudi 22 août 2002StatutMembreDernière intervention14 juin 2005 23 août 2004 à 17:32
d'accord, merci :)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 août 2004 à 11:01
naked supprime toute prise en charge de la fonction par le compilo, asm pur.
__stdcall est bien la convention d'appel, qui replace le pointeur de tack ESP.
BlackGoddess
Messages postés338Date d'inscriptionjeudi 22 août 2002StatutMembreDernière intervention14 juin 2005 23 août 2004 à 10:58
il me semblait que __stdcall définissait une convention d'appel, et que _declspec(naked) supprimait l'en-tete de fonction ... l'implémentation de la convention ne se trouve donc pas dans l'en-tete ? je dois tout mélanger
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 août 2004 à 10:10
aucunement, WINAPI est un alias de __stdcall.
Par contre, avec 'naked' il ne doit y avoir aucun code 'C', doit commencer par '__asm' et finir a 'ret xxx'.
BlackGoddess
Messages postés338Date d'inscriptionjeudi 22 août 2002StatutMembreDernière intervention14 juin 2005 23 août 2004 à 10:07
mettre _declspec(naked) et WINAPI ne sont pas contradictoires ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 22 août 2004 à 21:46
Salut ShareVB,
http://www.cppfrance.com/code.aspx?ID=25597 j'ai remis un exemple, bien moins etendu que le tien, tu pourras jeter un oeil si tu veux pour voir comment supprimer CopyMemory et tous les transferts registres-memoire inutiles.
Si tu as des questions, pas de probleme.
ciao...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 21 août 2004 à 13:50
Pourquoi PUSHAD dans toutes ces fonctions quand tu n'utilises parfois qu'1 seul registre ?
CMP EDI,0 => TEST edi, edi
__declspec(naked) devant les fonctions pour les ecrire en pur asm et gagner pas mal de cycles.
23 août 2004 à 17:32
23 août 2004 à 11:01
__stdcall est bien la convention d'appel, qui replace le pointeur de tack ESP.
23 août 2004 à 10:58
23 août 2004 à 10:10
Par contre, avec 'naked' il ne doit y avoir aucun code 'C', doit commencer par '__asm' et finir a 'ret xxx'.
23 août 2004 à 10:07
22 août 2004 à 21:46
http://www.cppfrance.com/code.aspx?ID=25597
j'ai remis un exemple, bien moins etendu que le tien, tu pourras jeter un oeil si tu veux pour voir comment supprimer CopyMemory et tous les transferts registres-memoire inutiles.
Si tu as des questions, pas de probleme.
ciao...
21 août 2004 à 13:50
CMP EDI,0 => TEST edi, edi
__declspec(naked) devant les fonctions pour les ecrire en pur asm et gagner pas mal de cycles.