Цитата:
Сообщение от Amidamaru
Извините за мою непонтяливость, но "Конечно нет" это: Глобальные переменные НЕ сохраняются в постоянной памяти, или же они НЕ сбрасываются после перезапуска контроллера?
|
Си/C++ - это язык третьего поколения. А это значит, что компилятор вас "за ручку" водить не будет. Всё делаете сами.
Сами память выделяете, сами очищаете её. Сами сохраняете туда значения и читаете их оттуда. И в файл сохраняете, если вам надо. Вовремя сохраняете - это отдельная история. С проверкой, записалось ли и обработкой всех ошибок записи. Причём сохранение в файл - это не то, чтобы "выплюнул куда-то данные и забыл". Это нужно открыть устройство, проверить носитель, проверить файловую систему, проверить возможность записи и наличие свободного места. И только потом создавать или модифицировать файл. Который потом корректно закрывать, скидывать буферы (тоже вовремя!). И если на каком-то шаге будет отказ, а он обязательно будет рано или поздно, этот отказ нужно корректно разрулить.
Судя по вашим вопросам, вы с какого-то ЯВУ одного из последних поколений пришли. Где шаг вправо-влево считается побегом, а прыжок на месте - провокацией. И всё выполнение происходит в "песочнице" с сохранением состояния программы при её закрывании.
Си/C++ не такой.
Он не то, чтобы на нашем контроллере не такой. Или в Линуксе не такой. Он по жизни не такой. Особенно Си.