Question naïve d'un gars qui n'a jamais developpé en C, est-ce qu'une application C un tant soit peu complexe ne fini t-elle pas par intégrer un ramasse miettes en plus du soin apporté à désallouer ses propres allocations?
Non mais par contre si t'as pas bien fait attention a ta strategie d'allocation de memoire, tu vas pleurer.
Si tu n'utilises pas de framework qui te cache une grosse partie de la difficulte et que tu fais ca sans reflechir vraiment, tu vas avoir un programme non maintenable et absolument pas extensible (avec tout un tas de leak en bonus si comme tout programmeur C qui se respecte, tu checkes pas la totalite de tes allocations).
En gros sans experience, c'est extremement difficile des que ton programme atteint une taille raisonnable. Et pour acquerir de l'experience, y a pas, faut te planter et en chier! En plus selon le type de programme tu vas avoir des strategies d'allocation complement differentes et ton experience est donc pas forcement reutilisable de l'un a l'autre.
Typiquement pour un gros truc genre jeu ou appli ou tu veux un max de perfs, tu peux gagner beaucoup en allouant un gros paquet au demarrage ou lors du chargement de tes donnees et limiter a fond les allocations dynamiques pendant le jeu. Du coup tu liberes quasi toute ta memoire a des points precis et c'est plus dur de te rater et d'oublier des trucs (plus dur, ca reste quand meme facile de te tirer une balle dans le pied).
[^] # Re: Intéressant
Posté par Littleboy . En réponse au journal Encore une histoire de récupérateur de mémoire. Évalué à 4.
Non mais par contre si t'as pas bien fait attention a ta strategie d'allocation de memoire, tu vas pleurer.
Si tu n'utilises pas de framework qui te cache une grosse partie de la difficulte et que tu fais ca sans reflechir vraiment, tu vas avoir un programme non maintenable et absolument pas extensible (avec tout un tas de leak en bonus si comme tout programmeur C qui se respecte, tu checkes pas la totalite de tes allocations).
En gros sans experience, c'est extremement difficile des que ton programme atteint une taille raisonnable. Et pour acquerir de l'experience, y a pas, faut te planter et en chier! En plus selon le type de programme tu vas avoir des strategies d'allocation complement differentes et ton experience est donc pas forcement reutilisable de l'un a l'autre.
Typiquement pour un gros truc genre jeu ou appli ou tu veux un max de perfs, tu peux gagner beaucoup en allouant un gros paquet au demarrage ou lors du chargement de tes donnees et limiter a fond les allocations dynamiques pendant le jeu. Du coup tu liberes quasi toute ta memoire a des points precis et c'est plus dur de te rater et d'oublier des trucs (plus dur, ca reste quand meme facile de te tirer une balle dans le pied).