Considérer que les littéraux sont variables en lecture seule et ainsi, il y a un concept d'un littéral de la piscine. Ce que le sens littéral de la piscine est une collection du programme unique de littéraux, où dupliquer les constantes sont jetés comme des références sont fusionnés en un seul.
Il est l'une littérale de la piscine pour chaque source, et selon le degré de sophistication du lien / bind programme, littéral piscines peuvent être placés les uns à côté des autres pour en créer un .rodata.
Il est également aucune garantie que le sens littéral de la piscine est en lecture seule protégé. Langue si compilateur conceptions de la traiter ainsi.
Envisager de mon fragment de code. Je pourrais avoir
const char *pc="bonjour le monde";
const char *cp1="bonjour le monde";
Le bon compilateur reconnaître que, dans le code source, la lecture seule des littéraux de cp, cp1,sont pointant vers des chaînes identiques, et fera point cp1 cp littérale, en rejetant la deuxième.
Un point de plus. Le sens littéral de la piscine peut être un multiple de 256bytes ou de valeur différente. Si le pool de données est inférieure à 256 octets, le relais sera complétée par des hex de zéros.
Différents compilateurs, suivre les standards de développement, permettant à un module compilé avec C, d'être en relation avec un module compilé avec l'assemblée de la langue ou une autre langue. Les deux littérale piscines sont placés de manière consécutive .rodata.