Я хотел бы скомпилировать простой код C90 с использованием математической библиотеки:
main.c:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
printf("M_PI: %f\n", M_PI);
}
Я использую компилятор GCC и использую опцию -ansi -pedantic для обеспечения соблюдения стандарта C90.
gcc -ansi -pedantic -lm main.c
Но это не компилируется. Ниже приведено сообщение об ошибке:
main.c: In function ‘main’:
main.c:7:25: error: ‘M_PI’ undeclared (first use in this function)
main.c:7:25: note: each undeclared identifier is reported only once for each function it appears in
Мой вопрос: почему? Стандарт C90 запрещает использование математической библиотеки?