Смещение глобальной константной переменной в исполняемом файле
Хотелось бы, чтобы исполняемый файл сохранял свое состояние, изменяя свои собственные глобальные константы. Просто для удовольствия иметь полностью автономный исполняемый файл.
Несколько решений / хаков, которые приходят на ум:
Use libelf and have the program parse itself to find the offset. Add a specific marker and just search for it in the executable file. I guess this might even be somewhat cross-platform? Use object dumping utils to determine the address in the executable file. This probably needs to be always done as a post-process to project build..Было бы здорово, если бы компоновщик предоставил эту информацию.
Возможно ли, чтобы компоновщик обеспечивал смещение секции только для чтения в исполняемом файле?
Спасибо