Ошибка undefined reference to 'sin' в функции, которая должна собирать дискретный массив для синуса - C (СИ)
Формулировка задачи:
Здравствуйте.
Пишу программу под МК. Кое как собрал функцию, которая должна собирать дискретный массив для синуса, но появляется ошибка... не пойму, почему...
ошибка
void sinus_calc(void)
{
for(i=0; i<360; i++)
{
Sinus[i] = (uint16_t) lround((sin((pi/180)) + 1)*4095/2);
}
}undefined reference to `sin'
и то же самое про lround. Опытным путем понял, что если убратьi
, то ошибка пропадает... но почему? в чем виновата i?))Решение задачи: «Ошибка undefined reference to 'sin' в функции, которая должна собирать дискретный массив для синуса»
textual
Листинг программы
double a = 10; Sinus[i] = sin(a);
Объяснение кода листинга программы
- Объявляется переменная
aтипа double и инициализируется значением 10. - В цикле Sinus[i] = sin(a); происходит вычисление синуса значения переменной
aи результат сохраняется в элементе массива Sinus с индексом i.