[C/WIN32] EMPÈCHE UNE INTRUSION VIA LES PARTAGES PAR DÉFAUT DE WINDOWS
zeratul67
Messages postés97Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention11 mai 2008
-
11 août 2006 à 21:13
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
16 août 2006 à 11:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 16 août 2006 à 11:51
sinon ça se règle (fait par défaut avec mes templates) pour tout le proj dans les propriétés du proj:
onglet C/C++ -> Advanced -> Calling Convention
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 16 août 2006 à 11:35
ha je l'ignorai, autant pour moi NairodDorian.
NairodDorian
Messages postés130Date d'inscriptionlundi 26 juin 2006StatutMembreDernière intervention18 août 2008 15 août 2006 à 19:02
DECK_BSD attention tu dis, je cite : "lorsqu'on ne spécifie pas" tu veut dire quand on n'y fait pas appel ? ben aucun n'est enployé."
C'est faux.
Si tu ne specifies rien c'est la convention d'appel du langage qui est utilise.
Par exemple :
INT mafonction(VOID){ /* code la fonction */ } // Convention utilise cdecl
Par contre
INT __stdcall mafonction(VOID){ /* code de la fonction */ } // Convention utilise __stdcall
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 12 août 2006 à 13:00
"lorsqu'on ne spécifie pas" tu veut dire quand on n'y fait pas appel ? ben aucun n'est enployé. Cependant si tu veut faire un choix entre les deux, je conseil __stdcall car cdecl inject le code de nettoyage de la pile dans l'éxécutable comme mis dans la MSDN. Voici le lien pour plus de précisions : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_core___stdcall.asp
zeratul67
Messages postés97Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention11 mai 2008 12 août 2006 à 12:22
"Le code utile est un peu noyé dans de l'interface" c'est vrai qu'on trouve très vite le code concernant le registre, non non il est très bien séparé, c'est pas ce que je voulais dire. Je disais juste que ce code en question est très court par rapport à tout ce qui permet d'avoir une belle interface, tu aurais très bien pu mettre cette partie en citation "code" pour qu'on ait pas besoin de télécharger le ZIP pour tout voir.
stdcall ou cdecl, lorsqu'on ne spécifie pas, lequel est employé ? Et quelle est la différence fondamentale (si c'est long et que t'as un lien qui en parle, n'hésites pas à le donner)
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 12 août 2006 à 10:46
... tilt ! en l'occurence j'ai pas de paramètres . L'habitude sans doute.
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 12 août 2006 à 10:06
"Le code utile est un peu noyé dans de l'interface" : tu trouves ? les 3 fonctions concernant les API sur la base de registre sont bien séparées :s
"Pourquoi déclares-tu tes fonctions en "__stdcall" " : stdcall: fonction qui dépile les paramètres, le standard API.
Le standard du C est cdecl, appelant dépile.
zeratul67
Messages postés97Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention11 mai 2008 11 août 2006 à 21:13
Le code utile est un peu noyé dans de l'interface, mais je pense que des débutants pourrait en apprendre des choses.
Pourquoi déclares-tu tes fonctions en "__stdcall" ?
16 août 2006 à 11:51
onglet C/C++ -> Advanced -> Calling Convention
16 août 2006 à 11:35
15 août 2006 à 19:02
C'est faux.
Si tu ne specifies rien c'est la convention d'appel du langage qui est utilise.
Par exemple :
INT mafonction(VOID){ /* code la fonction */ } // Convention utilise cdecl
Par contre
INT __stdcall mafonction(VOID){ /* code de la fonction */ } // Convention utilise __stdcall
12 août 2006 à 13:00
12 août 2006 à 12:22
stdcall ou cdecl, lorsqu'on ne spécifie pas, lequel est employé ? Et quelle est la différence fondamentale (si c'est long et que t'as un lien qui en parle, n'hésites pas à le donner)
12 août 2006 à 10:46
12 août 2006 à 10:06
"Pourquoi déclares-tu tes fonctions en "__stdcall" " : stdcall: fonction qui dépile les paramètres, le standard API.
Le standard du C est cdecl, appelant dépile.
11 août 2006 à 21:13
Pourquoi déclares-tu tes fonctions en "__stdcall" ?