Slashes et points dans les noms de fonctions et les prototypes
Dans l'extrait de code source Go fourni, vous pouvez rencontrer des noms de fonctions et des prototypes contenant des barres obliques ( /) et des points (·). Ces caractères ont une signification particulière dans le contexte du compilateur C interne de Go, qui étend le langage C avec certaines fonctionnalités.
Middot (·)
Le caractère middot (· ) est un caractère spécial reconnu par le compilateur C de Go. Il est utilisé comme séparateur d'espace de noms et est traduit en un point normal (.) lorsqu'il est compilé par l'éditeur de liens Go. Dans les noms de fonctions mentionnés, le point central sert à séparer l'espace de noms du nom réel de la fonction :
runtime∕race·Read runtime∕race·Write
Slashes (/)
Les barres obliques (/) sont également géré spécialement par le compilateur C de Go. Ils indiquent l'espace de noms « vide » ou « espace réservé ». Lors de l'utilisation de l'instruction d'importation, Go remplacera l'espace de noms vide par le chemin réel vers le package importé.
Par exemple, le code Go suivant :
import examp "path/to/package/example"
Se traduira par le C suivant code après compilation :
#include "path/to/package/example/example.h"
Dans les prototypes de fonctions fournis, les barres obliques indiquent que les fonctions appartiennent au "placeholder" espace de noms :
void runtime∕race·Read(int32 goid, void *addr, void *pc);
Dans l'ensemble, les barres obliques et les points dans ces noms de fonctions et prototypes sont utilisés par le compilateur C interne de Go pour gérer les espaces de noms et permettre une modification flexible des symboles lors de la compilation et de la liaison.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!