2010-07-23 4 views
1

Je suis tombé sur this presentation tout en naviguant sur SO il ya quelque temps, et il relie les performances à des décisions d'allocation de mémoire spécifiques. L'auteur a quelques diagrammes intéressants qui montrent comment divers objets sont alloués par un programme C++, et continue à optimiser le programme en faisant quelques changements dans le code. Ses diagrammes ont un sens dans leur propre contexte, mais j'aimerais en savoir plus sur la façon de dessiner le mien.Où puis-je en savoir plus sur la structure de la mémoire en C++?

Où puis-je en savoir plus sur la manière dont C++ alloue des objets en mémoire? Je voudrais savoir comment diverses structures (tableaux, pointeurs, ints, etc ...) sont placées lorsque j'écris un programme, en détail. A cela s'ajoutent des techniques de pré-mise en cache telles que _dcbt, qui semblent aussi intéressantes.

Répondre

3

Vous ne devriez avoir aucun problème à trouver un certain nombre de sites avec des informations sur l'allocation de mémoire C++. Voici un petit échantillon d'une recherche rapide sur Google:

Voici quelques livres qui pourraient intéresser vous bien:

0

Doug Lea a page décrivant l'implémentation de malloc. C'est un vieil article mais je pense que la majeure partie est encore pertinente.

3

Notez que C++ dit très peu sur la façon dont les objets sont alloués dans memeory. Tous les détails de mise en œuvre sont laissés aux fournisseurs de compilateurs individuels pour travailler par eux-mêmes. Par conséquent, même si de nombreuses techniques sont courantes, aucune n'est censée être ce qui est utilisé dans votre programme.

Questions connexes