cancooler
Messages postés16Date d'inscriptionvendredi 27 juin 2003StatutMembreDernière intervention19 novembre 2006
-
1 nov. 2004 à 11:37
cancooler
Messages postés16Date d'inscriptionvendredi 27 juin 2003StatutMembreDernière intervention19 novembre 2006
-
3 nov. 2004 à 11:55
Bonjour a tous,
voici ma question: Je desirerai appeler une API windows dans un bloc de code ASM compilé avec VC++
Voila le code qui me pose probleme: l'exemple 1 compile et s'execute sans erreur, l'exemple 2 compile et genere une erreur au moment du 'call MessageBox' car ici l'API est appelee directement.
//EX1: The good one
#include <windows.h>
#include <stdio.h>
//Prevent the console from popping up during the program
#pragma comment( linker, "/subsystem:"windows" /entry:"mainCRTStartup"" )
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 2 nov. 2004 à 15:39
add esp,0x10 est nécessaire si la fct appelée est en __cdecl (convetion d'appel du C, la valeur par défaut pour ttes les fct perso). Le truc c'est que les fct API sont __stdcall et donc il ne faut pas nettoyer la pile après l'appel (la fct se charge de le faire)