Portage win -> linux aie aie ! - C++ - Programmation
Marsh Posté le 22-10-2002 à 13:45:36
bah indispensable, non, normalement tu devrais meme pouvoir t'en tirer sans, non ?
Marsh Posté le 22-10-2002 à 14:14:48
Si y a pas d'équivalent direct, "suffira" de réécrire ces fonctions spécifiques.
L'API PointDsRect je l'ai réécrite sous Windows car elle ne prenait pas les points inversés. Au lieu de faire inversion avant, je me suis écrit ma fonction...
Marsh Posté le 22-10-2002 à 15:24:46
J'ai pas vraiment envie de me taper la réécriture d'appels systemes. En plus j'ai pas le niveau pour savoir si mon processus a le droit d'aller lire ou ecrire dans telle zone memoire.
Marsh Posté le 22-10-2002 à 15:59:19
Taz@PPC a écrit a écrit : apprends le C/C++ et oublie Visual: ca fonctionnera sous linux et windows |
Merci mais je connais le c et c++, et au passage ca n'a rien avoir avec visual. Je savais pas que visual proposait des appels système . Mais bon si c'est juste que je n'y connais rien en C, ben ca doit pas etre difficile pour toi de me proposer une solution.
Marsh Posté le 22-10-2002 à 19:42:34
hellbilly a écrit a écrit : Merci mais je connais le c et c++, et au passage ca n'a rien avoir avec visual. Je savais pas que visual proposait des appels système . Mais bon si c'est juste que je n'y connais rien en C, ben ca doit pas etre difficile pour toi de me proposer une solution. |
il voulait juste te dire que ton code est archi crade mais il osait pas le dire
Marsh Posté le 22-10-2002 à 20:17:54
hellbilly a écrit a écrit : Ca me pose problème pour les fonctions suivantes IsBadReadPtr, IsBadWritePtr,... qui sont vraiment très utiles (indispensables même) alors j'aimerais savoir si il existe leur equivalent sous Linux. |
Serieusement, a quoi te servent ces fonctions ? A debugger n'est-ce pas ?
- N'utilise pas des pointeurs que tu stockes passe partout, que tu incrementes partout et que tu stockes partout.
- Fais de belles classes, qui resolvent chacune un probleme
- Si tu dois chercher des bugs, utilise ton debugger et des programmes comme valgrind (libre !) ou BoundChecker ou Purify.
Marsh Posté le 23-10-2002 à 13:32:11
fabsk a écrit a écrit : Serieusement, a quoi te servent ces fonctions ? A debugger n'est-ce pas ? - N'utilise pas des pointeurs que tu stockes passe partout, que tu incrementes partout et que tu stockes partout. - Fais de belles classes, qui resolvent chacune un probleme - Si tu dois chercher des bugs, utilise ton debugger et des programmes comme valgrind (libre !) ou BoundChecker ou Purify. |
Je les utilise pas pour debugger mais pour tester si les pointeurs passés en paramètres de fonctions sont valides. Ca evite par exemple d'appeler une méthode d'un objet à partir de son pointeur alors que l'objet n'est pas (ou plus) valide.
C'est sur je peux m'en passer mais avec j'ai un code plus robuste.
Marsh Posté le 23-10-2002 à 14:35:20
D'habitude, pour avoir ce niveau de robustesse, on réinitialise à NULL tous les pointeurs qu'on désalloue ou qu'on n'a pas encore alloué, explicitement. La vérification consiste ensuite à comparer son pointeur à NULL.
Marsh Posté le 23-10-2002 à 20:32:49
BifaceMcLeOD a écrit a écrit : D'habitude, pour avoir ce niveau de robustesse, on réinitialise à NULL tous les pointeurs qu'on désalloue ou qu'on n'a pas encore alloué, explicitement. La vérification consiste ensuite à comparer son pointeur à NULL. |
D'habitude, pour avoir ce niveau de robustesse, on utilise des smart pointers, pas des pointeurs "de base". Et des containers de la STL quand c'est possible.
Marsh Posté le 22-10-2002 à 11:45:10
Je vais devoir développer un gros projet sous Linux et va donc falloir que je porte pas mal de code.
Ca me pose problème pour les fonctions suivantes IsBadReadPtr, IsBadWritePtr,... qui sont vraiment très utiles (indispensables même) alors j'aimerais savoir si il existe leur equivalent sous Linux.