Как обрабатывать статические ресурсы времени выполнения в проекте 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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