Программирование на C и C++

Онлайн справочник программиста на C и C++

#line

Директива #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;
}