![]() |
Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
![]() |
![]()
Message
#61
|
|
![]() Macbidouilleur de vermeil ! ![]() ![]() ![]() ![]() Groupe : Membres Messages : 975 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 ![]() |
pour le 33eme tu crées une deuxième variable voire 3 ou 4. mais déjà 31 ca fait un paquet d'indication in fine !!
je comprend pas pourquoi ça limiterai l'evolution du code? indéterminé n'est qu'une variante de on et off tu peux accoler la possibilité a cote sur le bit voisin par exemple alors je ne men suis servi que pour pour des jeux ou j'ai besoin de savoir ou se trouve un élément je men suis servi par exemple dans le tetris que j'ai dans ma signature a la fois pour le jeux lui même mais aussi pour créer des forme bizarres en 2 seconds je peux créer n'importe quelle forme et l'inclure dans le jeux sans reprendre tout le code comme c'est fait dans un tetris traditionnel (d'ailleurs tu trouveras pas de tetris avec des formes non traditionnelle ' enfin jen ai pas trouve lol) je m'en suis servi aussi dans une jeu de croix et l'inteligence artificielle !! mais mon programme est trop fort il est quasiment imbattable.. lol ais encore dans plein de truc inutile comme un jeu de cascade cascade il sagit de faire degringoler des casse de même couleurs qui se touchent et sans le binaire au lieu de 60 ligne de code j'en aurais je sais pas combien avec des ralentissements incroyables.. ca peut servir aussi pour dans un jeu "remplacer" le concept de tile enfin bref a plein de chose; il est même étonnant que le concept soit si peu utilisé meme de la part de codeurs chevronnés mais il est clair qu'ils ont pas forcément le temps de s'amuser lorsqu'ils bossent ![]() -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
![]()
Message
#62
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 964 Inscrit : 3 Nov 2005 Membre no 49 239 ![]() |
je men suis servi par exemple dans le tetris que j'ai dans ma signature a la fois pour le jeux lui même mais aussi pour créer des forme bizarres en 2 seconds je peux créer n'importe quelle forme et l'inclure dans le jeux sans reprendre tout le code comme c'est fait dans un tetris traditionnel (d'ailleurs tu trouveras pas de tetris avec des formes non traditionnelle ' enfin jen ai pas trouve lol) Effectivement, dans certains domaines (jeux, IA), les chaînes de bits servent beaucoup. Il y a même par le passé un moteur de système expert qui était implémenté sur l'utilisation de masque binaires. Dans mon cas, j'ai rarement développé des tetris pour mes clients ![]() ![]() |
|
|
![]()
Message
#63
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 ![]() |
Je suis du même avis que noop, et je rajouterai "montre-moi tes tests de performances et mesure-moi le gain effectif".
Le codeur doit avoir une vision suffisamment large pour ne pas provoquer de mauvaises performances comme des requêtes qui provoquent des balayages de table sur des champs non-indexés, ou (je l'avoue, je l'ai fait) faire de la lecture sequentielle sur les logs à la recherche d'infos passées (j'ai honte !)... Donc c'est plus le comportement qu'il faut améliorer. Tout à fait d'accord pour la maintenance. Maintenant si tu cherches à protéger ton job... c'est une autre discussion. J-P Ce message a été modifié par Jaypee - 17 Aug 2009, 12:46. |
|
|
![]()
Message
#64
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 964 Inscrit : 3 Nov 2005 Membre no 49 239 ![]() |
|
|
|
![]()
Message
#65
|
|
![]() Macbidouilleur de vermeil ! ![]() ![]() ![]() ![]() Groupe : Membres Messages : 975 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 ![]() |
coucou..
c'est pas mon job. j'ai un videoclub et je fais aussi des pizzas c'est un loisir. j'ai programmé un truc pour Schlum et Ghisdiem en binaire on pouvait sans doute le faire autrement je voulais juste apporter une petite idée si cela tourne a celui qui code le mieux et qui a raison.. ca ne sert a rien ![]() ![]() ![]() Ce message a été modifié par hubeert - 17 Aug 2009, 20:02. -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
![]()
Message
#66
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 964 Inscrit : 3 Nov 2005 Membre no 49 239 ![]() |
On plaisante..... Et puis l'histoire du mec qui code comme un saguoin dans le milieu professionnel celà existe (ce qui n'est pas ton cas car toi tu fais ca pour le plaisir). Moi j'en ai connu un qui était dans le même bureau que moi il y a presque 30 ans, il refusait de m'expliquer ce qu'il avait codé en RPG alors que je devais traduire son programme en COBOL. Et bien son boulot il se l'est gardé jusqu'à la retraite....et je ne lui jette pas la pierre car maintenant je suis un peu dans sa situation. Par contre je ne fous pas les collègues dans la mouise. Mes programmes / scripts sont tous documentés.
|
|
|
![]()
Message
#67
|
|
![]() Macbidouilleur de vermeil ! ![]() ![]() ![]() ![]() Groupe : Membres Messages : 975 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 ![]() |
coucou
d'accord alors continuons sur les astuces et les techniques ![]() Ce message a été modifié par hubeert - 17 Aug 2009, 14:06. -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
![]()
Message
#68
|
|
![]() Macbidouilleur de bronze ! ![]() ![]() Groupe : Membres Messages : 409 Inscrit : 7 Nov 2004 Membre no 26 535 ![]() |
On plaisante..... Et puis l'histoire du mec qui code comme un saguoin dans le milieu professionnel celà existe (ce qui n'est pas ton cas car toi tu fais ca pour le plaisir). Moi j'en ai connu un qui était dans le même bureau que moi il y a presque 30 ans, il refusait de m'expliquer ce qu'il avait codé en RPG alors que je devais traduire son programme en COBOL. Et bien son boulot il se l'est gardé jusqu'à la retraite....et je ne lui jette pas la pierre car maintenant je suis un peu dans sa situation. Par contre je ne fous pas les collègues dans la mouise. Mes programmes / scripts sont tous documentés. Entièrement d'accord, y a encore pas logntemps j'ai vu quelque chose d'assez mémorable : On cast une string en double qu'on recast en string pour recaster en double et finalement recaster en string. Très performant ![]() |
|
|
![]()
Message
#69
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 4 690 Inscrit : 28 Nov 2001 Lieu : Pas loin du grand pic qu'on surnomme Tour Eiffel Membre no 1 440 ![]() |
Le binaire c'est un peu comme l'assembleur. Cela peu booster considérablement les performances mais faut l'utiliser avec parcimonie car
1) Cela prend plus de temps à coder que de rester en haut niveau (coût) 2) Cela est beaucoup moins lisible (maintenabilité) Je ne sais pas vous, mais je code d'abord "pour que ça marche" (en évitant de faire un code trop crade), ensuite je repasse pour réorganiser (découper en fonctions, mieux commenter). C'est qu'à ce stade là que je vais chercher à optimiser le code, si besoin. Sachant que le processus d'optimisation peut être long et couteux (le temps c'est de l argent, si on est en milieu pro) on préfère souvent (c'est malheureux et paradoxal) acheter du matériel plus puissant que de gagner du temps de traitement sur le code. Cela revient moins cher. -------------------- Mordu de Mac depuis 1996, avec un Performa 6230CD sous Mac OS 7.5.1. Depuis l'extinction de Steve Jobs, le logiciel libre se fait de plus en plus présent dans ma vie numérique.
|
|
|
![]()
Message
#70
|
|
Nouveau Membre Groupe : Membres Messages : 22 Inscrit : 10 Jun 2009 Lieu : paris Membre no 137 448 ![]() |
J'adore ce jeux, je m'amuse comme un petit fou, ......... en plus les couleurs sont trop chouettes |
|
|
![]()
Message
#71
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 ![]() |
Retour aux trucs...
J'ai un mini-poster imprimé avec les commandes de "Vi". C'est un collector échappé des années 80, et je n' ai même plus le postscript original... Tout ça pour dire qu'il rappelle des commandes essentielles comme "Afficher les numéros de lignes". Perso, je ne savais même pas que "Vi" savait faire ça ![]() :se nu pour seT nuMBER Parlant d'éditeurs, mon estime pour TextWrangler est remontée en flèche, après que j' ai eu à re-architecturer un fichier XML. Je devais passer d'un schéma avec des attributs à un schéma avec des sous-éléments. TextWrangler a un mode un peu simplistement nommé "use grep". La chaîne de départ, <element attr1="val1" attr2="val2"/> et la chaîne souhaitée: <element> <attr1>val1</attr1> <attr2>val2</attr2> </element> Avec TW, on va chercher <element attr1="(.*)" attr2="(.*)"/> Rappelez-vous: Dans les expressions régulières, les parenthèses c'est un peu comme des mémoires d'une calculette et on rappelle la valeur avec \1 ou \2 On va le remplacer par: <element>\r\t<attr1>\1</attr1>\r\t<attr2>\2</attr2>\r</element> Voilà, deux trucs pour tout public (de bidouilleur quand même) J-P Ce message a été modifié par Jaypee - 19 Aug 2009, 20:49. |
|
|
![]()
Message
#72
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 964 Inscrit : 3 Nov 2005 Membre no 49 239 ![]() |
Avec TW, on va chercher <element attr1="(.*)" attr2="(.*)"/> Rappelez-vous: Dans les expressions régulières, les parenthèses c'est un peu comme des mémoires d'une calculette et on rappelle la valeur avec \1 ou \2 On va le remplacer par: <element>\r\t<attr1>\1</attr1>\r\t<attr2>\2</attr2>\r</element> ![]() |
|
|
![]()
Message
#73
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 ![]() |
Je réactive un peu ce bon sujet.
Dernièrement, sur un serveur HP-UX, je lance un script shell préparé avec un des bons éditeurs à la Smultron du PC (NotePad++ en est un) et catastrophe, le script crashe sur la ligne 1 en accusant le fameux BOM UTF-8 (byte order marker, 3 caractères servant d'indicateur pour la polarité des mots machine, l'endianness) invisible dans l'éditeur, on ne peut pas l'éditer. Par un ami, Google, j'ai découvert la commande vi qui règle ça : : set noboum : wq # On resauve C'est facile à retenir après un crash... ![]() Niveau : Confirmé, quand même J-P PS : Apparemment, la commande est inconnue sur vim Ce message a été modifié par Jaypee - 19 Oct 2009, 08:31. |
|
|
![]()
Message
#74
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 964 Inscrit : 3 Nov 2005 Membre no 49 239 ![]() |
Je réactive un peu ce bon sujet. Dernièrement, sur un serveur HP-UX, je lance un script shell préparé avec un des bons éditeurs à la Smultron du PC (NotePad++ en est un) et catastrophe, le script crashe sur la ligne 1 en accusant le fameux BOM UTF-8 (byte order marker, 3 caractères servant d'indicateur pour la polarité des mots machine, l'endianness) invisible dans l'éditeur, on ne peut pas l'éditer. Par un ami, Google, j'ai découvert la commande vi qui règle ça : : set noboum : wq # On resauve C'est facile à retenir après un crash... ![]() Niveau : Confirmé, quand même J-P Bonjour, je bosse aussi sur HP-UX ( ![]() Ce message a été modifié par noop - 19 Oct 2009, 08:32. |
|
|
![]()
Message
#75
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 ![]() |
Oui un éditeur classique, réglé en UTF-8 avec BOM.
En fait je me suis planté sur la commande vi, ça collait pas. Là où j' ai besoin de scripts shell, ce sont des serveurs Linux, pas sur les serveurs HP-UX qui ont un autre usage... Mais c'est proche et ça marche bien sous vim : : set nobomb : wq J-P Ce message a été modifié par Jaypee - 19 Oct 2009, 08:45. |
|
|
![]()
Message
#76
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 964 Inscrit : 3 Nov 2005 Membre no 49 239 ![]() |
Ca y est j'ai vu l'option UTS-8 with BOM. En fait je ne l'avais jamais utilisé ? Ca sert dans quel cas ?
|
|
|
![]()
Message
#77
|
|
![]() Terminaltor Moderating Machine ![]() ![]() ![]() ![]() ![]() Groupe : Admin Messages : 24 456 Inscrit : 25 Oct 2002 Lieu : Jeumont (59) Membre no 4 319 ![]() |
En C/Objective-C je mets toujours cette petite macro pour faciliter le traitement des erreurs: Code #define Fail(erreur,label) {if(erreur) goto label;} oui, je sais, les goto c'est crade, mais c'est pour la bonne cause ![]() Ça permet de regrouper le code de gestion d'erreur en fin de fonction, et ça s'utilise comme ça: Code int err; ... err = appel_de_fonction (); Fail (err, stop); ... return; stop: NSLog (@"erreur: %d", err); ... Beauh ! ![]() Et les NSException et @try @catch, c'est fait pour quoi ? ![]() (oui, j'arrive après la guerre ) -------------------- I think therefore I Mac
|
|
|
![]()
Message
#78
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 ![]() |
Le BOM ce sont 3 octets conventionnels, qui servent si on échange le fichier UTF-8 entre machines d'architectures différentes, à définir l'ordre des octets dans un mot, big ou little endian. En général, on ne le met pas, mais certains éditeurs n'ont qu'un seul réglage UTF-8, sans précision.
Dans mon cas, le fichier était déjà déployé à destination, donc pour régler juste un encodage, c'eut été un peu pénible de re-déployer. Donc, le patch rapide sur place, suivi de la correction dans le code versionné, pour un prochain kit, était acceptable. J-P |
|
|
![]()
Message
#79
|
|
![]() Macbidouilleur de bronze ! ![]() ![]() Groupe : Membres Messages : 291 Inscrit : 29 May 2004 Lieu : 48°50'27" N, 2°13'43" E Membre no 19 336 ![]() |
En C/Objective-C je mets toujours cette petite macro pour faciliter le traitement des erreurs: Code #define Fail(erreur,label) {if(erreur) goto label;} oui, je sais, les goto c'est crade, mais c'est pour la bonne cause ![]() Ça permet de regrouper le code de gestion d'erreur en fin de fonction, et ça s'utilise comme ça: Code int err; ... err = appel_de_fonction (); Fail (err, stop); ... return; stop: NSLog (@"erreur: %d", err); ... Beauh ! ![]() Et les NSException et @try @catch, c'est fait pour quoi ? ![]() (oui, j'arrive après la guerre ) oui, bon c'est vrai mais j'ai pris l'habitude, car j'ai commencé à mettre ça dans ma "toollib" perso qui marche sous MacOS, Windows et Linux pour quand je fais du code serveur (portable) sans interface utilisateur -------------------- Membre no. 14 du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
|
|
|
![]()
Message
#80
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 ![]() |
A Schlum, pas grave... il faut aussi signaler le @finally.
On y passe tout le temps, exception où pas. C'est important pour faire le ménage après une exception. Certaines ressources système manquantes peuvent conduire au besoin de reboot d'un système si on ne les libère pas correctement : threads, file handles... Même en cas d' exception qui va immanquablement conduire à un crash, il faut faire ce ménage avant de s'écraser avec grâce. J-P Ce message a été modifié par Jaypee - 19 Oct 2009, 10:50. |
|
|
![]()
Message
#81
|
|
![]() Terminaltor Moderating Machine ![]() ![]() ![]() ![]() ![]() Groupe : Admin Messages : 24 456 Inscrit : 25 Oct 2002 Lieu : Jeumont (59) Membre no 4 319 ![]() |
oui, bon
c'est vrai
mais j'ai pris l'habitude, car j'ai commencé à mettre ça dans ma "toollib" perso qui marche sous MacOS, Windows et Linux pour quand je fais du code serveur (portable) sans interface utilisateur Ah oui Si c'est multi-plateformes, je préfère le C++ avec le même mécanisme d'exceptions (mieux encore que celui d'Objective-C d'ailleurs). Code #define TRY try { #define CATCH \ } catch (MyException &e) { \ // Log \ throw; \ } #define CATCHIGN \ } catch (MyException &e) { \ // Log \ } #define THROW(msg) { \ // Log \ MyException newE; \ throw newE; \ } Et mettre des TRY CATCH autour de chaque fonction / méthode A Schlum, pas grave... il faut aussi signaler le @finally. On y passe tout le temps, exception où pas. C'est important pour faire le ménage après une exception. Certaines ressources système manquantes peuvent conduire au besoin de reboot d'un système si on ne les libère pas correctement : threads, file handles... Même en cas d' exception qui va immanquablement conduire à un crash, il faut faire ce ménage avant de s'écraser avec grâce. J-P Oui Mais ne pas oublier que le NSAutoreleasePool en Obj-C est automatiquement nettoyé quand on saute avec une exception même s'il n'est pas libéré dans le @finally Donc il est plus facile de l'utiliser et de se passer de @finally quand c'est possible ![]() -------------------- I think therefore I Mac
|
|
|
![]()
Message
#82
|
|
![]() Oui ? ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 3 889 Inscrit : 24 Jun 2003 Lieu : BZH Membre no 8 224 ![]() |
" Si on ne peut pas comprendre l'utilité d'un programme en lisant uniquement les commentaires, alors vous pouvez jeter l'ensemble du code ! " Oui, je suis vraiment d'accord. J'ajouterai simplement un petit plus, les commentaires doivent aussi apporter une petite touche d'humour et de légèreté si possible. Il faut aussi penser à l'individu qui les relira dans X années, certainement stressé, dépressif... La programmation n'attire que trop souvent les individus dans un monde Kafkaïen... J'ai découvert cette méthode dans les sources de Bill Atkinson et de Scott Knaster ; alors excusez du peu ![]() C'est une bonne pratique (hélas) plutôt rare en France ; qui mériterai d'être diffusée, et à utiliser avec modération, bien sur. Pourquoi faire du goto et des labels quand un Code if(!fonction()) { //traitement de l'erreur Beurk !!!! Ça me rappelle le temps ou je faisais du débugging sur des programmes en APL. Et pour le sujet de l'utilisation de tables binaires, je conseille l'analyse des sources de Agrep http://www.tgries.de/agrep/ D'ailleurs, pour apprendre à bien programmer, rien de tel que lire des codes sources, prestigieux ou non, comme Agrep Ah, j'oubliais, à placer dans le chapitre "bonne pratiques" quand vous tapez une accolade (ou une parenthèse, crochet) ouvrante, taper immédiatement la fermante correspondante, puis utilisez le retour arrière pour écrire le contenu... -------------------- "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan) |
|
|
![]()
Message
#83
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 964 Inscrit : 3 Nov 2005 Membre no 49 239 ![]() |
Ah, j'oubliais, à placer dans le chapitre "bonne pratiques" quand vous tapez une accolade (ou une parenthèse, crochet) ouvrante, taper immédiatement la fermante correspondante, puis utilisez le retour arrière pour écrire le contenu... ![]() Code ' " `[ ( je viens d'en faire l'expérience dans un script shell (oublié un " fermant). Même chose quand on utilise les caractères de control par exemple pour taper: Code "......\"Voici une belle chaîne de char quotée\" ....." Eh bien je tapes tout de suite une chaîne quotée NULL [\"\"] et je rentre mon texte dedans. |
|
|
![]()
Message
#84
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 ![]() |
Toujours à Schlum et à propos du @finally, je faisais allusion à tout ce qui n' est pas mémoire, et que l'on consomme comme ressource. Imaginons un Thread zombie qui "tient" une connexion de database. Si on a un bug qui fait ça, on relance l'appli, ça marche un moment... puis ça crashe, on essaie de nouveau... et à chaque tentative, on aggrave le problème en saturant le système (plus de threads) ou en consommant tout le connection pool... Au bout d'un moment, le reboot est inévitable.
Bon, c'est vrai, j' ai une culture de serveur et de règlement à la con (faut de la paperasse pour rebooter un serveur de prod ![]() @No6 : En APL, tu fais allusion au branch vers expression ? -> expr C'est un GOTO calculé comme en Fortran, mais un -> (chaine vide ou vecteur nul ou tout objet de dimension 0) est un saut à la ligne suivante, et -> 0 est équivalent à un return Certains créaient une fonction IF pour faire plus propre : -> etiquette IF cond J-P Ce message a été modifié par Jaypee - 19 Oct 2009, 15:27. |
|
|
![]()
Message
#85
|
|
![]() Terminaltor Moderating Machine ![]() ![]() ![]() ![]() ![]() Groupe : Admin Messages : 24 456 Inscrit : 25 Oct 2002 Lieu : Jeumont (59) Membre no 4 319 ![]() |
Jaypee, en langage objet, je règle ce problème avec les constructeurs pour tout ce qui est initialisation (allocation, connexion, ouverture de "handles" ou sockets etc.) et les destructeurs pour tout ce qui est finalisation (déallocation, déconnexions, fermeture de "handles" ou sockets etc.)
Du coup, tout mon nettoyage se passe à coup d'alloc et de release. En C++ c'est encore plus pratique car j'utilise au maximum des variables sur la pile, donc libérées automatiquement dès qu'on sort du scope, et ce quelque soit la sortie (exception, goto, sortie normale ). Et on peut même créer un scope pour l'occasion à coup d'accolades. -------------------- I think therefore I Mac
|
|
|
![]()
Message
#86
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 ![]() |
Au temps pour moi, en culture Java, je ne fréquente pas les destructeurs... toute une éducation à refaire...
Tout dépend quand même si le destructeur de l'objet est bien écrit, c'est à dire si la désallocation d'un File handle (le free de la structure File Handle en mémoire) est précédée de son changement d'état (le "close") Mais OK, c'est vu... J-P |
|
|
![]()
Message
#87
|
|
![]() Terminaltor Moderating Machine ![]() ![]() ![]() ![]() ![]() Groupe : Admin Messages : 24 456 Inscrit : 25 Oct 2002 Lieu : Jeumont (59) Membre no 4 319 ![]() |
Ah oui, bien sûr, il faut que tout soit propre au niveau libération
Ça fonctionne également avec les mutex que j'ai oublié dans mon énumération (ne pas déverrouiller un mutex est une des pires choses qui peuvent arriver
).
-------------------- I think therefore I Mac
|
|
|
![]() ![]() |
Nous sommes le : 18th September 2025 - 20:51 |