Sens de la double trait de soulignement au début
Dans la bibliothèque standard (glibc), je vois des fonctions définies avec les principaux double souligne, comme __mmap
dans sys/mman.h
. Quel est le but? Et comment peut-on encore appeler une fonction mmap
qui ne semble pas être déclaré n'importe où. Je veux dire que nous comprennent sys/mman.h
, mais sys/mman.h
ne pas déclarer mmap
, il déclare seulement __mmap
.
- Double souligne: stackoverflow.com/questions/224397/... (question dit C++, mais le
__
est du C ANSI standard ainsi). Aussi dans ma version desys/mman.h
,mmap
est défini. __mmap
n'est pas déclaré n'importe où par la glibc. Aucune idée de quoi vous parlez.- Cherchez-vous à en-têtes du noyau, pas les en-têtes glibc?
Vous devez vous connecter pour publier un commentaire.
De GNU manuel de l':
C'est une convention, qui est également utilisé par le C et le C++ fournisseurs.
Avec de grands noms de double trait de soulignement sont réservés à un usage interne par la mise en œuvre (compilateur/bibliothèque standard), etc). Ils ne doivent jamais apparaître dans votre code. Le but de cette réservés espace de noms est de donner au système le les en-têtes des noms qu'ils peuvent utiliser sans risquer de heurter les noms utilisés dans votre programme.
ISO 9899:2011