Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
939 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [Windows] Nomenclature des fonctions : comprendre les windowseries

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Windows] Nomenclature des fonctions : comprendre les windowseries

n°507937
bleuerouge
Posté le 04-09-2003 à 22:40:08  profilanswer
 

une fonction se declare generalement : valeur retourné par la fonction nom de la fonction (parametres)  
 
ex : int main (void)  
 
mais en win 32 il y a souvent un argument (generalement WINAPI LRESULT ou CALLBACK) entre la valeur retourné et le nom de la fonction  
 
ex:
1-ok c'est le type que la fonc. va renvoyer
2-c'est le nom de la fonction
3-ce sont les param. de la fonc.
 
 1   ???     2             3
int WINAPI WinMain (HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpCmdLine,
                    int iCmdShow)
 
autre exemple :
   1       ???        2            3
LRESULT CALLBACK WndProc (HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam);
 
Je sais que c'est un peu fouis ,mais je veus etre sur de tout bien comprendre


Message édité par bleuerouge le 04-09-2003 à 22:51:58
mood
Publicité
Posté le 04-09-2003 à 22:40:08  profilanswer
 

n°507944
Taz
bisounours-codeur
Posté le 04-09-2003 à 22:42:35  profilanswer
 

bienvenu dans l'API bordélique de Windows. fuis si tu peux

n°507946
blackgodde​ss
vive le troll !
Posté le 04-09-2003 à 22:45:25  profilanswer
 

ca paraît pas être une réponse très constructive :/
 
(corrigez moi si je me trompe :)
WINAPI, CALLBACK etc correspond a __fastcall, __stdcall, et d'autres qui précisent l'en-tête de la fonction : si c'est l'appelant ou l'appelé qui s'occupent de la pile (me semble que ca gere d'autres choses)


---------------
-( BlackGoddess )-
n°508148
Yttrium
Furtif
Posté le 05-09-2003 à 03:26:21  profilanswer
 

@ all
  Les windowseries sont sur MSDN (www.msdn.microsoft.com)
 
@ Taz
  Je plussoie... Faut partir loin, très loin !

n°508149
Yttrium
Furtif
Posté le 05-09-2003 à 03:29:53  profilanswer
 

En plus, depuis l'arrivée de .Net, la maintenance de la documentation de l'api de Windows est délaissée... C'est quasiment ".Net or die".

n°508189
Ashe2
Posté le 05-09-2003 à 09:12:10  profilanswer
 

BlackGoddess a écrit :

ca paraît pas (corrigez moi si je me trompe :)
WINAPI, CALLBACK etc correspond a __fastcall, __stdcall, et d'autres qui précisent l'en-tête de la fonction : si c'est l'appelant ou l'appelé qui s'occupent de la pile (me semble que ca gere d'autres choses)


 
C'est à peu près ca oui. Elles changent également le mangling (connais pas le terme français) de la fonction, et l'ordre dans lequel les arguments sont passés.
 
La majorité des fonctions de l'API Win32 sont __stdcall (PASCAL, WINAPI, CALLBACK, c'est pareil), la différence entre __fastcall et autres :
 
__stdall
- les arguments sont passés de droite à gauche
- la fonction appelée s'occupe du stack
- impossible de faire des varargs (...), je suppose
 
__cdecl
- "mode" par défaut en C++
- arguments passés de droite à gauche
- la fonction appelante s'occupe du stack (varargs possible)
 
__fastcall
- de droite à gauche, sauf les deux premiers arguments de 32-bit ou moins qui sont passés via les registres
- stack géré par la fonction appelée
 
__thiscall
- pour les méthodes
- on peut pas le spécifier soit meme..
 
Voila, j'espere que ca t'éclaire un peu.
 
 
Edit: souligner un truc avec des underscores c'est bof


Message édité par Ashe2 le 05-09-2003 à 09:12:57

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Windows] Nomenclature des fonctions : comprendre les windowseries

 

Sujets relatifs
*Navigation* comprendre kke chose ..[Windows] thread comment les créer, les lancer simultanément ???
Vos meilleurs links pour réaliser batch et comprendre mieux le shellWindows : Forcer l'ecran a se mettre en veille
Port // sous Windows XPplusieurs Windows sur un dvd???
[windows] port // Createfile() Writefile()[windows]Programmer le port PS/2 ?
Windows - vitesse de connexion au réseau local[Resolu] [C++ / thread / windows] Demarrer une methode en Thread ?
Plus de sujets relatifs à : [Windows] Nomenclature des fonctions : comprendre les windowseries


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR