Questions marquées «memory-management»

124
C ++, magasin gratuit ou tas

new/deleteOn dit que les allocations dynamiques ont lieu sur le magasin libre , tandis que les malloc/freeopérations utilisent le tas . J'aimerais savoir s'il y a une différence réelle, dans la pratique. Les compilateurs font-ils une distinction entre les deux termes? ( Magasin gratuit et tas , pas...

112
Free (ptr) où ptr est NULL est-il corrompu?

Théoriquement, je peux dire que free(ptr); free(ptr); est une corruption de mémoire puisque nous libérons la mémoire qui a déjà été libérée. Mais si free(ptr); ptr=NULL; free(ptr); Comme le système d'exploitation se comportera d'une manière indéfinie, je ne peux pas obtenir une analyse théorique...

111
La volatilité est-elle chère?

Après avoir lu The JSR-133 Cookbook for Compiler Writers sur l'implémentation de volatile, en particulier la section "Interactions avec les instructions atomiques", je suppose que lire une variable volatile sans la mettre à jour nécessite un LoadLoad ou une barrière LoadStore. Plus bas dans la...