MIPI_BaseC_WebinarFRTK/25_Seminar12/08_p19.c

33 lines
1.4 KiB
C
Raw Permalink Normal View History

2024-11-13 09:22:28 +03:00
#include <stdio.h>
#include <math.h>
#define PR(X, ...) printf("Message " #X ": " __VA_ARGS__)
#define DEBUGPRINT fprintf (stderr, "debug in %d line func: %s\n", __LINE__, __func__)
int main(void)
{
DEBUGPRINT;
printf("File: %s\n", __FILE__);
#line 100 "help.c"
DEBUGPRINT;
#line 200
DEBUGPRINT;
printf("File: %s\n", __FILE__);
#ifndef __APPLE__
//~ #error This code work only in MacOs
#endif
/*
* Единственное применение, которое я могу придумать, это приведение номеров строк в порядок
* после длинной серии многострочных макросов.
*
В основном он используется для предоставления имен файлов и номеров строк исходного файла,
из которого был создан файл C (будь то заголовок или реализация).
Учитывая это, компилятор выдаст диагностику, которая намекает на исходный файл, а не на сгенерированный файл.
Препроцессоры также используют это для указания на включенные заголовки в предварительно обработанном файле,
в котором они расширены.
*/
return 0;
}