#line zeile #line zeile "dateiname"Die #line-Direktive wird verwendet, um einem Programm Zeilennummern für Querverweise oder Fehlermeldungen zu übergeben. Wenn ein Programm aus anderen Programmen entnommene Passagen enthält, ist es oft sinnvoll, diese Passagen mit den Zeilennummern des ursprünglichen Quellprogramms zu versehen, anstatt das zusammengesetzte Programm komplett sequentiell durchzunumerieren.
Makros werden in #line-Argumenten genauso wie in der Direktive #include erweitert.
Die Direktive #line wird hauptsächlich von Tools benutzt, die C-Quelltexte erzeugen (z.B. lex, yacc). Der "normale" Programmierer wird die Direktive selten einsetzen.
Beispiel:
#include <stdio.h>
int main(void)
{
#line 999 "fehler.c"
fehler(x);
fehler(y);
return 0;
}
Ein Übersetzungslauf (Dateiname linepra.c) liefert
zum Beispiel:
Microsoft (R) C Optimizing Compiler Version 6.00A Copyright (c) Microsoft Corp 1984-1990. All rights reserved. linepra.c fehler.c(999) : error C2065: 'x' : undefined fehler.c(1000) : error C2065: 'y' : undefinedBenutzt werden können auch die vordefinierten Makros
__LINE__ Zeilennummer __FILE__ Dateiname