Math.h (не обычный) - PullRequest
       7

Math.h (не обычный)

0 голосов
/ 14 мая 2018

Пару дней назад у меня была корректно работающая функция atan из math.h, но по какой-то причине она больше не компилируется.Я получаю обычное

'broken_code.c :(. Text + 0x49): неопределенная ссылка на' atan '

Я включаю флаг -lm, когдаЯ компилирую.

Я попытался скомпилировать и запустить его в другой системе (как в другой системе Linux, так и в системе на основе BSD), и она отлично работает.Я действительно ничего не знаю о том, как компилятор работает / связывает вещи, поэтому любая помощь будет оценена.Вот мой код:

#include <math.h>
#include <stdio.h>

int main() {
    double y1, x1, y2, x2;
    y1 = 0;
    x1 = 0;
    y2 = 1;
    x2 = 0;

    y1 = atan((y1-y2)/(x1-x2));
    printf("%lf\n\n", y1);


    return 0;
}

1 Ответ

0 голосов
/ 14 мая 2018

Возможно, вы связали математическую библиотеку в неправильном порядке. Например

gcc -lm prog.c

может не работать, пока

gcc prog.c -lm

будет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...