Смещение глобальной константной переменной в исполняемом файле

Хотелось бы, чтобы исполняемый файл сохранял свое состояние, изменяя свои собственные глобальные константы. Просто для удовольствия иметь полностью автономный исполняемый файл.

Несколько решений / хаков, которые приходят на ум:

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..

Было бы здорово, если бы компоновщик предоставил эту информацию.

Возможно ли, чтобы компоновщик обеспечивал смещение секции только для чтения в исполняемом файле?

Спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос