Только для изображений, очень простой подход заключается в использовании формата XPM .
Этот формат является допустимым заголовком C / C ++, поэтому вы можете включить его непосредственно в исходный файл C ++ и использовать его напрямую.
Основная проблема этого подхода заключается в том, что XPM не является сжатым форматом, поэтому использует много места для хранения.
Следовательно, на практике я видел, что это используется только для иконок и небольших графических объектов, но в принципе вы могли бы сделать больше.
Еще одна интересная особенность XPM в том, что она удобочитаема человеком - опять же, отлично подходит для создания маленьких и простых иконок.
Чтобы обобщить эту идею для других форматов, вы можете создать цепочку компиляции, которая:
- Кодирует целевой файл как ASCII (Uuencode или что-то подобное)
- Превращает это в одну строку с именем C в исходном файле.
- Создать заголовок, просто объявив имя
- Определить функцию, восстанавливающую двоичную форму из строки