Я пишу скриптовый игровой движок, для которого у меня есть большое количество классов, которые выполняют различные задачи. Размер движка быстро растет, и поэтому я подумал о том, чтобы разбить большой исполняемый файл на модули dll, чтобы в него могли быть включены только те компоненты, которые фактически использует создатель игры. Когда пользователь компилирует свою игру (то есть свой сценарий), я хочу, чтобы правильные библиотеки DLL были частью окончательного исполняемого файла. У меня уже есть довольно много оверлейных данных, поэтому я решил, что смогу сохранить dll как часть этого блока. Мой вопрос сводится к этому:
Можно ли обмануть LoadLibrary, чтобы начать чтение файла с определенным смещением? Это избавило бы меня от необходимости извлекать dll во временный файл, который не является чистым, или, в качестве альтернативы, полностью исключать автоматическое включение dll и просто инструктировать моих пользователей упаковывать dll вместе со своими играми.
Вначале я думал о подходе "загрузить dll из памяти", но отверг его из-за переносимости и просто потому, что это кажется таким ужасным взломом.
Есть мысли?
С уважением,
Филипп Беннефолл