• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

странности sizeof()

safari

New member
Запускаю один и тот же скетч
Код:
void setup() {
Serial.begin(115200);
Serial.println();
int i= 12341234;
unsigned int y =  3125513454;
float k = 3.1254;
Serial.println(sizeof(i));
Serial.println(sizeof(y));
Serial.println(sizeof(k));
}
void loop() {
}
вывод на ардуино UNO:
2
2
4

вывод на ESP8266:
4
4
4

странно как-то....
 

safari

New member
Это я к чему написал. Флеш у ESP-шки (nodemcu) конечно большой, но не резиновый. Мне надо хранить во флеше коды команд от кондея, а у Panasonic-а, например, одна команда = почти 450*integer значений. А тут такая подстава.
Кто знает, где можно размер стандартного типа данных int в библиотеках ESP_Arduino сократить с 4х до 2х байт?
 

pvvx

Активный участник сообщества
Это я к чему написал.
Наверно к тому, что ESP8266 32-х разрядный проц, а в UNO дохлый 16-ти разрядный...
Кто знает, где можно размер стандартного типа данных int в библиотеках ESP_Arduino сократить с 4х до 2х байт?
Написать вместо int short
 

Юрий Ботов

Moderator
Команда форума
Это нормально. Вообще то размер int на разных системах Абсолютно разный.
 

safari

New member
На самом деле, У других кондеев может быть и 200 и меньше. Панас впока чемпион среди протестированных мной.
 
Сверху Снизу