я не силён в Си но вот не пойму
пишу прогу
#include <math.h> - сам он есть я проверял
main(){
cos(0);
}
при компиляции
gcc test.c
undefined reference to 'cos'
если всталяю просто printf("Hello world") - нормально
а как только пытаюсь что-то математическое вызвать - вот такая фигня
и ещё вопрос я смотрел сам math.h
но там только описание этих функций и их переменных - а как они сами написаны как считают - это где находиться?
>я не силён в Си но вот не пойму
>пишу прогу
>#include <math.h> - сам он есть я проверял
>main(){
>cos(0);
>}
>при компиляции
>gcc test.c
>undefined reference to 'cos'
>если всталяю просто printf("Hello world") - нормально
>а как только пытаюсь что-то математическое вызвать - вот такая фигня
>и ещё вопрос я смотрел сам math.h
>но там только описание этих функций и их переменных - а как
>они сами написаны как считают - это где находиться?gcc -lm test.c
надо ведь математическую библиотеку подключить
>gcc -lm test.c
>
>надо ведь математическую библиотеку подключить
сенькс буду пробовать
m - означает math.h я так понял
а как другие библиотеки обозначать или их много например
или пройдёт ли такая строка
gcc -lmath.h test.c ??
>>gcc -lm test.c
>>
>>надо ведь математическую библиотеку подключить
>сенькс буду пробовать
>m - означает math.h я так понял
>а как другие библиотеки обозначать или их много например
>или пройдёт ли такая строка
>gcc -lmath.h test.c ??Обычно от названия библиотеки, в данном случае libm (библа математических функций), отрезается слово lib, а то что осталось приписывают к знаку -l, получается -lm, это и передают в качестве опции компилятору. man gcc нажал / ввел -l нажал_enter
всё заработало спасибо большое