Как обрабатывать статические ресурсы времени выполнения в проекте CXX?C++

Программы на C++. Форум разработчиков
Anonymous
Как обрабатывать статические ресурсы времени выполнения в проекте CXX?

Сообщение Anonymous »

Не редкость, что для определенного программного обеспечения требуется больше, чем просто EXE и DLL, например, изображения или значок для использования в пользовательском интерфейсе, данных или конфигурации, предварительных файлах шейдеров и т. Д. в приложении. < /p>
Некоторые (но не все) ресурсы могут быть встроены в виде двоичных данных в исполняемое или библиотеку. С помощью C23 директива #EMBED может быть использована для легкости этого. Это еще не совсем поддерживается на всех компиляторах. В противном случае у каждого компилятора и линкера есть свой собственный метод внедрения данных с его уникальными ограничениями. Или вы можете использовать библиотеку, такую ​​как incbin. Для одного приложения, не разделенного в разных библиотеках или модулях, вы можете иметь простые аргументы для получения данных. Определяет, но лично это не хорошее решение. Вам нужно каким -то образом сообщить библиотеке, где она должна искать в ее ресурсах.
Для этого я нашел два общих решения. /> Ни один из них не является неотъемлемой частью, 1 поля, поля, вызовный интерфейс, который в некоторых случаях хорошо, но не тогда, когда переданные данные не должны меняться в течение всего выполнения программы. Option 2 is means the calling interface is untouched but you can forget to call InitLib call it twice (ex. 2 libraries depend on the same other library), which require extra error handling, and it means having a non const global variable, as you can only realy set it after the main has started running (to my knowledge) even tho it is realy a const once set.
Q: Is there a Рекомендуемый/стандартный способ справиться с ресурсами в экосистеме CXX?

Подробнее здесь: https://stackoverflow.com/questions/796 ... xx-project

Вернуться в «C++»