Сохранение переменных даже после завершения программы
Вопрос
Я хотел бы, чтобы переменная сохранялась даже после завершения программы.Другими словами, я бы хотел, чтобы переменная оставалась в памяти даже после выхода приложения из основной функции.Итак, если мое приложение будет запущено снова, оно сможет получить доступ к этой переменной непосредственно из памяти.Возможно ли это вообще?Будет ли динамическое распределение, например. array=new int[size]
, Покажи фокус?
Решение
Нет, вся память восстанавливается ОС по окончании процесса.Вы должны сохранить вещи, которые вы хотите файл.
Другие советы
Это невозможно.Вы должны хранить данные в файловых или системных настройках, чтобы получить доступ к этому на следующий запуск
Отказ от ответственности: Сохранение значений в файле или использование некоторых функций платформы, таких как QНастройки следует отдать предпочтение перед следующими подходами.
Если вы действительно хотите, чтобы ваши переменные оставались в памяти, и если вы рискуете потерять значения при перезагрузке, попросите операционную систему сделать это. Общая память.
Если у вас есть POSIX-совместимая платформа, например Linux или Windows, используйте команду POSIX-функции.Цитирую инструкцию:
Объекты общей памяти POSIX имеют постоянство ядра:объект общей памяти будет существовать до тех пор, пока система не выключится или пока все процессы не отобразят объект и он не будет удален с помощью
shm_unlink
.
Имейте в виду, что это приводит к своего рода утечке памяти:Ваши переменные будут потреблять память даже после завершения приложения.