У меня есть программа на C, охватывающая десятки файлов. Моя цель - написать функцию, которая при вызове сохранит все глобальные переменные в некотором файле и выйдет в ОС (командная строка в windows). Позже мне понадобится программа для загрузки глобальных переменных из файла и продолжения работы.
Программа представляет собой однопоточный exe-файл, который не загружает никаких библиотек DLL.
Простой способ решить эту проблему - составить список всех глобальных переменных (при условии, что я преобразую статику в глобальные) и просто сбросить их в файл. Но это утомительная работа, поскольку, вероятно, существуют сотни, если не тысячи переменных.
Есть ли другой способ, скажем, выгрузить весь сегмент данных и загрузить его позже? Даже если я сохраню сегмент данных и смогу загрузить его обратно в ОЗУ, у меня будут проблемы с привязкой переменных программы к фрагментам памяти сегмента данных.