Question

Quelle est la signification de #line dans le C langue? Où serait-il utilisé?

Était-ce utile?

La solution

Il indique au compilateur où la ligne suivante se fait à partir. Il est généralement le préprocesseur C qui ajoute ceux-ci, par exemple, en incluant un fichier, il indique au compilateur (qui est essentiellement de voir un seul flux de données) que nous examinons un autre fichier.

Cela peut sembler étrange, mais le préprocesseur insère simplement les fichiers d'en-tête où vous spécifiez votre comprend, et le compilateur fonctionne sur la chose (tous les fichiers d'en-tête concaténés avec votre code source), vous pouvez vérifier le résultat de la préprocesseur étape si vous utilisez gcc avec gcc -E myfile.c. Là-dedans, vous remarquerez qu'il ajoute une directive #line chaque fois que vous incluez des fichiers, et chaque fois qu'il réduit la quantité de texte envoyé au compilateur (tels que de grandes quantités de commentaires peut être réduite à une seule directive #line, sauter en avant)

Il est également utilisé par d'autres programmes, comme le bison / yacc pour vous dire que le problème (s'il y a un problème de compilation) est liée à vos règles fichier à une ligne spécifique, que le compilateur serait autrement incapable de le faire , comme le bison / yacc génère c-fichiers.

Autres conseils

Il est appelé préprocesseur directive sur le contrôle de la ligne .

Les extensions des deux __FILE__ et __LINE__ sont modifiés si une directive #line est utilisé. Il provoque le compilateur pour afficher le numéro de ligne de la prochaine ligne de source que le nombre spécifié.

Son utilisation principale est de rendre le compilateur des messages d'erreur plus significatifs.

Vous pouvez trouver plus d'explication et un exemple d'utilisation dans documentation d'IBM .

Il est un mot-clé pragma :

" #line vous permet de modifier le numéro de ligne du compilateur et (éventuellement) la sortie de nom de fichier pour les erreurs et les avertissements. Cet exemple montre comment signaler deux avertissements associés aux numéros de ligne. Le #line 200 directive oblige le numéro de la ligne à 200 (bien que la valeur par défaut est # 7) et jusqu'à ce que la prochaine directive #line, le nom du fichier sera signalé comme « spécial ». la directive par défaut #line renvoie la numérotation des lignes à sa numérotation par défaut, qui compte les lignes qui ont été renumérotés par la directive précédente. "

Il vous permet de modifier le numéro de ligne apparente du fichier.

L'utilisation que je peux penser pour elle est de rendre les numéros de ligne sain d'esprit après une longue série de macros à plusieurs lignes.

utilisation est:

#line 42

Il est principalement utilisé pour fournir les noms de fichiers et les numéros de ligne d'un fichier source à partir de laquelle un fichier C (que ce soit en-tête ou la mise en œuvre) a été créé. Étant donné que, le compilateur émet des diagnostics qui font allusion au fichier source plutôt que dans le fichier généré.

Préprocesseurs utilisent également ce faire allusion à en-têtes inclus dans un fichier prétraité qui a ces étendues.

# est la chaîne symbole injing au processeur c et c ++

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top