Директива #line используется для изменения содержимого __LINE__ и __FILE__, являющихся предопределенными макросами. __LINE__ содержит номер компилируемой строки, а __FILE__ имя компилируемого файла. Стандартный вид команды #line следующий:
#line число "имя_файла"
где число - это любое положительное число, а необязательный параметр имя_файла является
любым допустимым файловым идентификатором. Номер строки заносится в __LINE__, а имя
файла — в __FILE__. #line предназначена для отладочных целей и специальных приложений.
Например, следующая директива определяет, что отсчет строк будет начинаться со 100. Оператор printf() выводит число 102, поскольку он стоит в третьей строке программы после оператора #line.
#include <stdio.h>
#line 100 /* переустановка счетчика строк*/
int main(void) /* строка 100 */
{ /* строка 101 */
printf ("%d\n",__LINE__); /* строка 102 */
return 0;
}