реклама на сайте
подробности

 
 
> Длинные целые в IAR, uint64_t
JohnKorsh
сообщение Jul 5 2017, 09:15
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 6-01-05
Из: Россия, Москва
Пользователь №: 1 820



Добрый день. Пушу в IAR. Мне необходимо использовать длинное целое число. IAR не понимает uint64_t, хотя в help про этот тип написано (приведены максимальные значения).
uint64_t Test = 0; // Ошибка - undeclared type.
Как грамотно использовать (скорее всего какой *.h подключить)?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 10)
scifi
сообщение Jul 5 2017, 09:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Яр бывает разный. Например, у яра для стм8 64-разрядных типов нет.
Ну а если есть, то подключать надо <stdint.h>, как везде.
Go to the top of the page
 
+Quote Post
Obam
сообщение Jul 5 2017, 09:21
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



https://electronics.stackexchange.com/quest...-variable-64bit
Оно?

(: Пушить в IAR

Сообщение отредактировал Obam - Jul 5 2017, 09:25


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
JohnKorsh
сообщение Jul 5 2017, 09:31
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 6-01-05
Из: Россия, Москва
Пользователь №: 1 820



Программа компилируется для MSP430F5528. long long не помогло.
Go to the top of the page
 
+Quote Post
Obam
сообщение Jul 5 2017, 09:45
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(JohnKorsh @ Jul 5 2017, 13:31) *
Программа компилируется для MSP430F5528. long long не помогло.

Там ещё stdint.h предлагалось


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jul 5 2017, 09:48
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(JohnKorsh @ Jul 5 2017, 12:31) *
Программа компилируется для MSP430F5528. long long не помогло.

Ну, значит у яра для мсп430 нет 64-разрядных типов. Что вполне ожидаемо, кстати.
Go to the top of the page
 
+Quote Post
JohnKorsh
сообщение Jul 5 2017, 09:52
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 6-01-05
Из: Россия, Москва
Пользователь №: 1 820



Спасибо за stdint.h - с первого раза невнимательно читал. Помогло. О, счастье.
Go to the top of the page
 
+Quote Post
Obam
сообщение Jul 5 2017, 10:02
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(JohnKorsh @ Jul 5 2017, 13:52) *
Спасибо за stdint.h - с первого раза невнимательно читал. Помогло. О, счастье.

А ведь IAR-ы пупок надрывают, "маны" для кого-то пишут
Прикрепленное изображение


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jul 5 2017, 11:35
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Obam @ Jul 5 2017, 13:02) *
А ведь IAR-ы пупок надрывают, "маны" для кого-то пишут

Там не сказано, что нет 64-разрядных типов. Более того, заглянул в мануал, там сказано, что такие типы есть. Почему у ТС не сработало "long long" - загадка. Может быть, галочки в опциях не так расставлены?
Go to the top of the page
 
+Quote Post
Obam
сообщение Jul 5 2017, 12:08
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Дык, я и выделил куда копать…

В общефилософском разрезе: на 16-битной архитектуре, с 12-ю доступными РОНами, с ОЗУ в качестве операнда не реализовать 64-битную арифметику? А на чём тогда (;


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Jul 7 2017, 14:17
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(scifi @ Jul 5 2017, 14:35) *
Там не сказано, что нет 64-разрядных типов. Более того, заглянул в мануал, там сказано, что такие типы есть. Почему у ТС не сработало "long long" - загадка. Может быть, галочки в опциях не так расставлены?

В опциях проекта MSP, возможно, выбраны набор библиотке CLIB а не DLIB.
Там в аннотации дается кратко отличия, что будет работать из ф-ий, а что нет.
В частности отличается функциональность printf.
Возможно также на Small модели памяти-данных этот тип не будет работать.
На Large / DLib long long int компилируется без доп. настроек

Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 19:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01474 секунд с 7
ELECTRONIX ©2004-2016