Я разрабатываю какой-то кроссплатформенный инструмент и хочу хранить некоторые данные только для чтения, данные о типах ресурсов (изображения или строки или информацию «Произведено ...» или информацию о версии файла).
Я пытаюсь закодировать инструмент, «чистый c» или «c ++».
Я хочу сохранить данные ресурса, используя ассемблер, поэтому данные могут быть прочитаны непосредственно из программыили файл общей библиотеки, без выполнения .
Данные также могут быть прочитаны, кроме того, самой программой при выполнении.
Данные будут записаны только один раз, когдакод скомпилирован.
Я нашел 2 возможных способа сделать это.
(1) Встроенная сборка.Добавление инструкций asm напрямую в файлы "чистого c" или "c ++", некоторые компиляторы, такие как Borland, MS, GNU, имели некоторую форму этого.
(2) Генерация кода и кода сборкив отдельных файлах и используйте инструмент компилятора, такой как компоновщик, сборку или компилятор, чтобы скомпилировать все вместе.
Я не хочу хранить инструкции ассемблера, только данные.
Я нацеливаюсь на x86-32-битные процессоры, Windows, Linux и BSD, но, если возможно, может быть расширен на другие платформы или архитектуры.
Я знаю, что Windows & Linuxиспользовать разные форматы файлов, такие как PE, COFF или ELF.
Какие-нибудь дополнительные или альтернативные идеи?Любые предложения, руководства, ссылки, как это сделать?
Спасибо.