Les profs de C++ pourraient se servir de cet exemple pour illustrer les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)
ça veut dire quoi "obfuscation" ?
En français, l'orthographe est offuscation ou offusquement, du verbe offusquer, qui veut dire « cacher à la vue, empêcher de voir », et plus particulièrement au sens figuré et en parlant de faculté intellectuelle : « priver de clarté, de perspicacité. ».
oulà ! j'ai beau trouver "offusquer" dans mon petit robert (version électronique). Pas moyen de mettre la main sur offuscation ou offusquement.
Enfin merci à tous pour ces précisions.
-- DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
Les profs de C++ pourraient se servir de cet exemple pour illustrer
les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)
ça veut dire quoi "obfuscation" ?
En français, l'orthographe est offuscation ou offusquement, du verbe
offusquer, qui veut dire « cacher à la vue, empêcher de voir », et plus
particulièrement au sens figuré et en parlant de faculté intellectuelle : «
priver de clarté, de perspicacité. ».
oulà ! j'ai beau trouver "offusquer" dans mon petit robert
(version électronique). Pas moyen de mettre la main sur offuscation ou
offusquement.
Enfin merci à tous pour ces précisions.
--
DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
Les profs de C++ pourraient se servir de cet exemple pour illustrer les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)
ça veut dire quoi "obfuscation" ?
En français, l'orthographe est offuscation ou offusquement, du verbe offusquer, qui veut dire « cacher à la vue, empêcher de voir », et plus particulièrement au sens figuré et en parlant de faculté intellectuelle : « priver de clarté, de perspicacité. ».
oulà ! j'ai beau trouver "offusquer" dans mon petit robert (version électronique). Pas moyen de mettre la main sur offuscation ou offusquement.
Enfin merci à tous pour ces précisions.
-- DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
Pierre Maurette
"DINH Viêt Hoà" a écrit .
Les profs de C++ pourraient se servir de cet exemple pour illustrer les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)
ça veut dire quoi "obfuscation" ? Revue "Programmez !", dernier n° (59 de Décembre 2003), page 48 :
un article "Protégez votre code des regards indiscrets avec des obfuscateurs". Après lecture en diagonale : des outils qui rendent incompréhensible le code décompilé (ou le code source ?) s'il est impossible d'empêcher cette décompilation. Par exemple, en remplaçant les noms par des noms improbables. C'est peut-être le début d'un truc nouveau : l'Open Source Dégueu, ou Inbitable Open Source (IOS !).. Pierre
"DINH Viêt Hoà" <dinh.viet.hoa@free.fr> a écrit .
Les profs de C++ pourraient se servir de cet exemple pour illustrer
les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)
ça veut dire quoi "obfuscation" ?
Revue "Programmez !", dernier n° (59 de Décembre 2003), page 48 :
un article "Protégez votre code des regards indiscrets avec des
obfuscateurs".
Après lecture en diagonale : des outils qui rendent incompréhensible le code
décompilé (ou le code source ?) s'il est impossible d'empêcher cette
décompilation. Par exemple, en remplaçant les noms par des noms improbables.
C'est peut-être le début d'un truc nouveau : l'Open Source Dégueu, ou
Inbitable Open Source (IOS !)..
Pierre
Les profs de C++ pourraient se servir de cet exemple pour illustrer les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)
ça veut dire quoi "obfuscation" ? Revue "Programmez !", dernier n° (59 de Décembre 2003), page 48 :
un article "Protégez votre code des regards indiscrets avec des obfuscateurs". Après lecture en diagonale : des outils qui rendent incompréhensible le code décompilé (ou le code source ?) s'il est impossible d'empêcher cette décompilation. Par exemple, en remplaçant les noms par des noms improbables. C'est peut-être le début d'un truc nouveau : l'Open Source Dégueu, ou Inbitable Open Source (IOS !).. Pierre
Pierre Maurette
"Gabriel Dos Reis" a écrit
Alors, logiquement le type ne doit plus s'appeler BOOL. Le choix du nom BOOL ne semble effectivement pas très heureux, d'autant plus
que Microsoft ne se prive pas par ailleurs pour créer des noms de types bien spécifiques. Pour atténuer un peu la critique, les fonctions API sont du C utilisables en C++, et donc le type bool n'existait pas : "Avec Visual C++, vous pouvez programmer pour Windows en utilisant soit C, soit C++ et l'API Win32, soit C++ et MFC, soit C++ et ATL. Visual C++ inclut la documentation relative aux deux derniers cas." (extrait du MSDN). Ceci dit, cette valeur de retour est assez pratique : une fois testée la valeur 0 (WM_QUIT), il suffit d'un ~ (inversion des bits) ou d'un ++ (incrément) pour la tester à -1. C'est surtout pratique en assembleur, en fait. Je vois là un certain rapport avec le void* retourné par exemple par malloc() (ou new() dans certaines conditions) : pour moi, c'est un semi booléen, et donc je vais écrire if((ptr=malloc())) ou if(!(ptr=malloc())), et ne pas me forcer à if((ptr=malloc())!=0) ou if((ptr=malloc())==0), mais c'est personnel. Pierre
"Gabriel Dos Reis" <gdr@integrable-solutions.net> a écrit
Alors, logiquement le type ne doit plus s'appeler BOOL.
Le choix du nom BOOL ne semble effectivement pas très heureux, d'autant plus
que Microsoft ne se prive pas par ailleurs pour créer des noms de types bien
spécifiques.
Pour atténuer un peu la critique, les fonctions API sont du C utilisables en
C++, et donc le type bool n'existait pas :
"Avec Visual C++, vous pouvez programmer pour Windows en utilisant soit C,
soit C++ et l'API Win32, soit C++ et MFC, soit C++ et ATL. Visual C++ inclut
la documentation relative aux deux derniers cas." (extrait du MSDN).
Ceci dit, cette valeur de retour est assez pratique : une fois testée la
valeur 0 (WM_QUIT), il suffit d'un ~ (inversion des bits) ou d'un ++
(incrément) pour la tester à -1. C'est surtout pratique en assembleur, en
fait.
Je vois là un certain rapport avec le void* retourné par exemple par
malloc() (ou new() dans certaines conditions) : pour moi, c'est un semi
booléen, et donc je vais écrire if((ptr=malloc())) ou if(!(ptr=malloc())),
et ne pas me forcer à if((ptr=malloc())!=0) ou if((ptr=malloc())==0), mais
c'est personnel.
Pierre
Alors, logiquement le type ne doit plus s'appeler BOOL. Le choix du nom BOOL ne semble effectivement pas très heureux, d'autant plus
que Microsoft ne se prive pas par ailleurs pour créer des noms de types bien spécifiques. Pour atténuer un peu la critique, les fonctions API sont du C utilisables en C++, et donc le type bool n'existait pas : "Avec Visual C++, vous pouvez programmer pour Windows en utilisant soit C, soit C++ et l'API Win32, soit C++ et MFC, soit C++ et ATL. Visual C++ inclut la documentation relative aux deux derniers cas." (extrait du MSDN). Ceci dit, cette valeur de retour est assez pratique : une fois testée la valeur 0 (WM_QUIT), il suffit d'un ~ (inversion des bits) ou d'un ++ (incrément) pour la tester à -1. C'est surtout pratique en assembleur, en fait. Je vois là un certain rapport avec le void* retourné par exemple par malloc() (ou new() dans certaines conditions) : pour moi, c'est un semi booléen, et donc je vais écrire if((ptr=malloc())) ou if(!(ptr=malloc())), et ne pas me forcer à if((ptr=malloc())!=0) ou if((ptr=malloc())==0), mais c'est personnel. Pierre
kanze
DINH Viêt Hoà wrote in message news:...
Les profs de C++ pourraient se servir de cet exemple pour illustrer les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)
ça veut dire quoi "obfuscation" ?
C'est le substantif d'obfusquer :-).
Il n'est pas dans mon dictionnaire, est-ce un angliscisme ?
C'est probablement à partir de l'anglais qu'on l'a adopté en informatique, mais c'est un latinisme au départ. En latin, obfuscare signifie « rendre plus sombre ou plus ténébreux ». L'obfuscation est donc le fait de rendre plus sombre ou plus ténébreux.
mon dictionnaire anglais-français internet ne veut pas le traduire. Bref, j'en cherche la définition exacte.
Est-ce synonyme de "déroute" ?
Pas du tout. Je ne trouve pas un bon synonyme français. C'est d'ailleurs peut-être pour ça qu'on l'a adopté. Un programme qui est obfusqué manque de l'intelligibilité, mais le mot inintelligible manque l'aspect intentionnel de obfuscation.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
DINH Viêt Hoà <dinh.viet.hoa@free.fr> wrote in message
news:<etPan.3fce803c.725d57f3.3b0a@homer>...
Les profs de C++ pourraient se servir de cet exemple pour illustrer
les magnifiques méthodes d'obfuscation utilisées dans l'industrie
;-)
ça veut dire quoi "obfuscation" ?
C'est le substantif d'obfusquer :-).
Il n'est pas dans mon dictionnaire, est-ce un angliscisme ?
C'est probablement à partir de l'anglais qu'on l'a adopté en
informatique, mais c'est un latinisme au départ. En latin, obfuscare
signifie « rendre plus sombre ou plus ténébreux ». L'obfuscation est
donc le fait de rendre plus sombre ou plus ténébreux.
mon dictionnaire anglais-français internet ne veut pas le traduire.
Bref, j'en cherche la définition exacte.
Est-ce synonyme de "déroute" ?
Pas du tout. Je ne trouve pas un bon synonyme français. C'est d'ailleurs
peut-être pour ça qu'on l'a adopté. Un programme qui est obfusqué manque
de l'intelligibilité, mais le mot inintelligible manque l'aspect
intentionnel de obfuscation.
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
Les profs de C++ pourraient se servir de cet exemple pour illustrer les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)
ça veut dire quoi "obfuscation" ?
C'est le substantif d'obfusquer :-).
Il n'est pas dans mon dictionnaire, est-ce un angliscisme ?
C'est probablement à partir de l'anglais qu'on l'a adopté en informatique, mais c'est un latinisme au départ. En latin, obfuscare signifie « rendre plus sombre ou plus ténébreux ». L'obfuscation est donc le fait de rendre plus sombre ou plus ténébreux.
mon dictionnaire anglais-français internet ne veut pas le traduire. Bref, j'en cherche la définition exacte.
Est-ce synonyme de "déroute" ?
Pas du tout. Je ne trouve pas un bon synonyme français. C'est d'ailleurs peut-être pour ça qu'on l'a adopté. Un programme qui est obfusqué manque de l'intelligibilité, mais le mot inintelligible manque l'aspect intentionnel de obfuscation.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
DINH Viêt Hoà
Après lecture en diagonale : des outils qui rendent incompréhensible le code décompilé (ou le code source ?) s'il est impossible d'empêcher cette décompilation. Par exemple, en remplaçant les noms par des noms improbables. C'est peut-être le début d'un truc nouveau : l'Open Source Dégueu, ou Inbitable Open Source (IOS !)..
pardon, tu as quelque chose contre l'Open Source ?
-- DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
Après lecture en diagonale : des outils qui rendent incompréhensible le code
décompilé (ou le code source ?) s'il est impossible d'empêcher cette
décompilation. Par exemple, en remplaçant les noms par des noms improbables.
C'est peut-être le début d'un truc nouveau : l'Open Source Dégueu, ou
Inbitable Open Source (IOS !)..
pardon, tu as quelque chose contre l'Open Source ?
--
DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
Après lecture en diagonale : des outils qui rendent incompréhensible le code décompilé (ou le code source ?) s'il est impossible d'empêcher cette décompilation. Par exemple, en remplaçant les noms par des noms improbables. C'est peut-être le début d'un truc nouveau : l'Open Source Dégueu, ou Inbitable Open Source (IOS !)..
pardon, tu as quelque chose contre l'Open Source ?
-- DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
DINH Viêt Hoà
Ceci dit, cette valeur de retour est assez pratique : une fois testée la valeur 0 (WM_QUIT), il suffit d'un ~ (inversion des bits) ou d'un ++ (incrément) pour la tester à -1. C'est surtout pratique en assembleur, en fait.
Oulà, je n'ai rien compris. C'est assez obfusqué (un nouveau mot tous les jours) ton explication.
Je vois là un certain rapport avec le void* retourné par exemple par malloc() (ou new() dans certaines conditions) : pour moi, c'est un semi booléen, et donc je vais écrire if((ptr=malloc())) ou if(!(ptr=malloc())), et ne pas me forcer à if((ptr=malloc())!=0) ou if((ptr=malloc())==0), mais
ce serait plutôt :
ptr = malloc(...); if (ptr == NULL) { ^^^^ ... }
enfin on dérive sur le C là ... désolé.
quand à la valeur de retour de l'opérateur new, me semble-t-il qu'on n'a pas besoin de la tester, soit une a une exception, soit il réussit.
Reste qu'avec ton exemple, je ne vois pas le rapport non plus. Quand les booléens ne suffisent plus à communiquer un code de retour, en général, on essaie d'utiliser un entier (ce qui est généralement utilisé en C) ou autre (ou alors une exception si c'est en C++).
-- DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
Ceci dit, cette valeur de retour est assez pratique : une fois testée la
valeur 0 (WM_QUIT), il suffit d'un ~ (inversion des bits) ou d'un ++
(incrément) pour la tester à -1. C'est surtout pratique en assembleur, en
fait.
Oulà, je n'ai rien compris. C'est assez obfusqué (un nouveau mot tous
les jours) ton explication.
Je vois là un certain rapport avec le void* retourné par exemple par
malloc() (ou new() dans certaines conditions) : pour moi, c'est un semi
booléen, et donc je vais écrire if((ptr=malloc())) ou if(!(ptr=malloc())),
et ne pas me forcer à if((ptr=malloc())!=0) ou if((ptr=malloc())==0), mais
ce serait plutôt :
ptr = malloc(...);
if (ptr == NULL) {
^^^^
...
}
enfin on dérive sur le C là ... désolé.
quand à la valeur de retour de l'opérateur new, me semble-t-il qu'on n'a
pas besoin de la tester, soit une a une exception, soit il réussit.
Reste qu'avec ton exemple, je ne vois pas le rapport non plus.
Quand les booléens ne suffisent plus à communiquer un code de retour, en
général, on essaie d'utiliser un entier (ce qui est généralement utilisé
en C) ou autre (ou alors une exception si c'est en C++).
--
DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
Ceci dit, cette valeur de retour est assez pratique : une fois testée la valeur 0 (WM_QUIT), il suffit d'un ~ (inversion des bits) ou d'un ++ (incrément) pour la tester à -1. C'est surtout pratique en assembleur, en fait.
Oulà, je n'ai rien compris. C'est assez obfusqué (un nouveau mot tous les jours) ton explication.
Je vois là un certain rapport avec le void* retourné par exemple par malloc() (ou new() dans certaines conditions) : pour moi, c'est un semi booléen, et donc je vais écrire if((ptr=malloc())) ou if(!(ptr=malloc())), et ne pas me forcer à if((ptr=malloc())!=0) ou if((ptr=malloc())==0), mais
ce serait plutôt :
ptr = malloc(...); if (ptr == NULL) { ^^^^ ... }
enfin on dérive sur le C là ... désolé.
quand à la valeur de retour de l'opérateur new, me semble-t-il qu'on n'a pas besoin de la tester, soit une a une exception, soit il réussit.
Reste qu'avec ton exemple, je ne vois pas le rapport non plus. Quand les booléens ne suffisent plus à communiquer un code de retour, en général, on essaie d'utiliser un entier (ce qui est généralement utilisé en C) ou autre (ou alors une exception si c'est en C++).
-- DINH V. Hoa,
etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan
| Je vois là un certain rapport avec le void* retourné par exemple par | malloc() (ou new() dans certaines conditions) : pour moi, c'est un semi | booléen, et donc je vais écrire if((ptr=malloc())) ou if(!(ptr=malloc())),
à chaque fois je vois ça, j'ai envie de jeter le programme par la fenêtre -- C idiomatique ou non.
| et ne pas me forcer à if((ptr=malloc())!=0) ou if((ptr=malloc())==0), mais | c'est personnel.
| Je vois là un certain rapport avec le void* retourné par exemple par
| malloc() (ou new() dans certaines conditions) : pour moi, c'est un semi
| booléen, et donc je vais écrire if((ptr=malloc())) ou if(!(ptr=malloc())),
à chaque fois je vois ça, j'ai envie de jeter le programme par la
fenêtre -- C idiomatique ou non.
| et ne pas me forcer à if((ptr=malloc())!=0) ou if((ptr=malloc())==0), mais
| c'est personnel.
| Je vois là un certain rapport avec le void* retourné par exemple par | malloc() (ou new() dans certaines conditions) : pour moi, c'est un semi | booléen, et donc je vais écrire if((ptr=malloc())) ou if(!(ptr=malloc())),
à chaque fois je vois ça, j'ai envie de jeter le programme par la fenêtre -- C idiomatique ou non.
| et ne pas me forcer à if((ptr=malloc())!=0) ou if((ptr=malloc())==0), mais | c'est personnel.
-- Gaby
Ivan Vecerina
"Thomas Abbé" wrote in message news:bqlrik$qkp$ | > BOOL GetMessage (/*je vous fais grâce des paramètres*/); | > | > Pas de problème non plus... sauf cette remarque : | > | > Note that the function return value can be TRUE, FALSE, or -1. | | ou est le probleme ? on distingue 3 cas ! | tant que c bien documente, il y a pas de prob...
C++ ou pas, George Boole, mathématicien britannique qui a inventé la logique booléenne au 19ème siècle, a de quoi se retourner dans sa tombe.
Si ce n'est pas une valeur booléenne, elle ne devrait pas s'appeler BOOL. C'est tout.
Ivan -- http://ivan.vecerina.com
"Thomas Abbé" <thomas_abbe@hotmail.com> wrote in message
news:bqlrik$qkp$1@news.tu-darmstadt.de...
| > BOOL GetMessage (/*je vous fais grâce des paramètres*/);
| >
| > Pas de problème non plus... sauf cette remarque :
| >
| > Note that the function return value can be TRUE, FALSE, or -1.
|
| ou est le probleme ? on distingue 3 cas !
| tant que c bien documente, il y a pas de prob...
C++ ou pas, George Boole, mathématicien britannique qui a
inventé la logique booléenne au 19ème siècle, a de quoi
se retourner dans sa tombe.
Si ce n'est pas une valeur booléenne, elle ne devrait pas
s'appeler BOOL. C'est tout.
"Thomas Abbé" wrote in message news:bqlrik$qkp$ | > BOOL GetMessage (/*je vous fais grâce des paramètres*/); | > | > Pas de problème non plus... sauf cette remarque : | > | > Note that the function return value can be TRUE, FALSE, or -1. | | ou est le probleme ? on distingue 3 cas ! | tant que c bien documente, il y a pas de prob...
C++ ou pas, George Boole, mathématicien britannique qui a inventé la logique booléenne au 19ème siècle, a de quoi se retourner dans sa tombe.
Si ce n'est pas une valeur booléenne, elle ne devrait pas s'appeler BOOL. C'est tout.
Ivan -- http://ivan.vecerina.com
Alain Naigeon
"Loïc Joly" a écrit dans le message news: bqmpod$lpi$
DINH Viêt Hoà wrote:
Les profs de C++ pourraient se servir de cet exemple pour illustrer les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)
ça veut dire quoi "obfuscation" ?
Il n'est pas dans mon dictionnaire, est-ce un angliscisme ?
Oui, de l'anglais obfuscate
Obfuscate: tr.v. -cated, -cating, -cates. 1. a. To render obscure. b. To darken. 2. To confuse: his emotions obfuscated his judgment. [LLat. obfuscare, to darken : ob(intensive) + Lat. fuscare, to darken < fuscus, dark.] -obfuscation n. obfuscatory adj
Alors, mettons : "brouiller les pistes", même si l'on peut rêver plus court.
--
Français *==> "Musique renaissance" <==* English midi - facsimiles - ligatures - mensuration http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/ Alain Naigeon - - Strasbourg, France
"Loïc Joly" <loic.actarus.joly@wanadoo.fr> a écrit dans le message news:
bqmpod$lpi$1@news-reader1.wanadoo.fr...
DINH Viêt Hoà wrote:
Les profs de C++ pourraient se servir de cet exemple pour illustrer
les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)
ça veut dire quoi "obfuscation" ?
Il n'est pas dans mon dictionnaire, est-ce un angliscisme ?
Oui, de l'anglais obfuscate
Obfuscate: tr.v. -cated, -cating, -cates. 1. a. To render obscure.
b. To darken. 2. To confuse: his emotions obfuscated his judgment.
[LLat. obfuscare, to darken : ob(intensive) + Lat. fuscare,
to darken < fuscus, dark.] -obfuscation n. obfuscatory adj
Alors, mettons : "brouiller les pistes", même si l'on peut rêver plus court.
--
Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - anaigeon@free.fr - Strasbourg, France
"Loïc Joly" a écrit dans le message news: bqmpod$lpi$
DINH Viêt Hoà wrote:
Les profs de C++ pourraient se servir de cet exemple pour illustrer les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)
ça veut dire quoi "obfuscation" ?
Il n'est pas dans mon dictionnaire, est-ce un angliscisme ?
Oui, de l'anglais obfuscate
Obfuscate: tr.v. -cated, -cating, -cates. 1. a. To render obscure. b. To darken. 2. To confuse: his emotions obfuscated his judgment. [LLat. obfuscare, to darken : ob(intensive) + Lat. fuscare, to darken < fuscus, dark.] -obfuscation n. obfuscatory adj
Alors, mettons : "brouiller les pistes", même si l'on peut rêver plus court.
--
Français *==> "Musique renaissance" <==* English midi - facsimiles - ligatures - mensuration http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/ Alain Naigeon - - Strasbourg, France
Cyrille Karmann
Thomas Abbé disait...
typedef int BOOL; #define FALSE 0 #define TRUE 1 C'est limite, mais prévu à l'origine pour les compilateurs sans type bool. BOOL GetMessage (/*je vous fais grâce des paramètres*/);
Pas de problème non plus... sauf cette remarque :
Note that the function return value can be TRUE, FALSE, or -1.
ou est le probleme ? on distingue 3 cas !
Bon, on l'a dit: le problème, c'est d'appeller booléen un truc qui ne l'est pas.
tant que c bien documente, il y a pas de prob...
Oui, mais justement...
1 : TRUE 0 : FALSE -1: ERROR BOOL GetMessage( LPMSG lpMsg, // address of structure with message HWND hWnd, // handle of window UINT wMsgFilterMin, // first message UINT wMsgFilterMax // last message ); Return Values If the function retrieves a message other than WM_QUIT, the return value is nonzero.
-1 est nonzero aussi, donc celui qui lit la doc trop vite implémentera un programme qui croira qu'il y a un message quand il y a une erreur...
If there is an error, the return value is -1. For example, the function fails if hWnd is an invalid window handle or lpMsg is an invalid pointer. To get extended error information, callGetLastError.
-- Cyrille Euro 2004: Santini delenda est.
Thomas Abbé disait...
typedef int BOOL;
#define FALSE 0
#define TRUE 1
C'est limite, mais prévu à l'origine pour les compilateurs sans type
bool.
BOOL GetMessage (/*je vous fais grâce des paramètres*/);
Pas de problème non plus... sauf cette remarque :
Note that the function return value can be TRUE, FALSE, or -1.
ou est le probleme ? on distingue 3 cas !
Bon, on l'a dit: le problème, c'est d'appeller booléen un truc qui ne
l'est pas.
tant que c bien documente, il y a pas de prob...
Oui, mais justement...
1 : TRUE
0 : FALSE
-1: ERROR
BOOL GetMessage(
LPMSG lpMsg, // address of structure with message
HWND hWnd, // handle of window
UINT wMsgFilterMin, // first message
UINT wMsgFilterMax // last message
);
Return Values
If the function retrieves a message other than WM_QUIT, the return value is
nonzero.
-1 est nonzero aussi, donc celui qui lit la doc trop vite implémentera
un programme qui croira qu'il y a un message quand il y a une erreur...
If there is an error, the return value is -1. For example, the function
fails if hWnd is an invalid window handle or lpMsg is an invalid pointer. To
get extended error information, callGetLastError.
typedef int BOOL; #define FALSE 0 #define TRUE 1 C'est limite, mais prévu à l'origine pour les compilateurs sans type bool. BOOL GetMessage (/*je vous fais grâce des paramètres*/);
Pas de problème non plus... sauf cette remarque :
Note that the function return value can be TRUE, FALSE, or -1.
ou est le probleme ? on distingue 3 cas !
Bon, on l'a dit: le problème, c'est d'appeller booléen un truc qui ne l'est pas.
tant que c bien documente, il y a pas de prob...
Oui, mais justement...
1 : TRUE 0 : FALSE -1: ERROR BOOL GetMessage( LPMSG lpMsg, // address of structure with message HWND hWnd, // handle of window UINT wMsgFilterMin, // first message UINT wMsgFilterMax // last message ); Return Values If the function retrieves a message other than WM_QUIT, the return value is nonzero.
-1 est nonzero aussi, donc celui qui lit la doc trop vite implémentera un programme qui croira qu'il y a un message quand il y a une erreur...
If there is an error, the return value is -1. For example, the function fails if hWnd is an invalid window handle or lpMsg is an invalid pointer. To get extended error information, callGetLastError.