Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Цифровые сигнальные процессоры (DSP) и их применение»

Ответ:

Отправлено Баулин Александр 08 декабря 2006 г. 08:24
В ответ на: Ответ: не может найти функцию деления двух 64х битных чисел. Какая командная строка? отправлено <font color=gray>diwil</font> 07 декабря 2006 г. 16:42

эээ..наверное не еду всё таки я, а лыжи нормальные :) что подразумевается под командной строкой?

есть такая функция, в общем на которую ругается:

fixed32 fixdiv32(fixed32 x, fixed32 y)
{ fixed64 temp;
if(x == 0)
return 0;
if(y == 0)
return 0x7fffffff;
temp = x;
temp <<= PRECISION;
return (fixed32)(temp / y);
}

(fixed32 и 64 это соответственно long и long long, PRECISION - макрос(здесь = 20));

причём интересно, если приравнивать некую статическую переменную к результату деления, fixed32 a = (fixed32)(temp / y); - то все хорошо.

если же результату деления приравнивать результат функции, т.е.:
return (fixed32)(temp / y);
или через некий указатель:
*a = (fixed32)(temp / y);
(естественно указатель инициализирован перед этим), то линкер матерится (что не может найти некий __divdi3). Что делать?


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа

Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 387:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru