Как встроить / связать двоичные данные в модуль Windows

Итак, у меня есть проект Visual Studio 2008 с большим объемом двоичных данных, на которые он в настоящее время ссылается. Я хотел бы упаковать двоичные данные так же, как вы можете сделать с C #, добавив их как «ресурс» и скомпилировав как DLL.

Допустим, все мои данные имеют расширение .data и в настоящее время считываются из проекта Visual Studio.

Есть ли способ скомпилировать или связать данные с вызываемой библиотекой .dll?

Я просмотрел некоторые ссылки Google для этого и пока ничего не придумал - единственное возможное решение, которое я придумал, - это использовать что-то вроде ResGen, чтобы создать файл .resources, а затем связать его с помощью AssemblyLinker с флагами / Embed или / Link. Я не думаю, что это сработает должным образом, потому что у меня нет текстовых файлов для создания файлов .resources, а есть сами двоичные файлы.

Любой совет?


person CrimsonX    schedule 29.04.2010    source источник


Ответы (2)


  1. Right click the resource script (.rc file)
  2. Choose Import

http://msdn.microsoft.com/en-us/library/saced6x2.aspx

Вы можете встроить любой «собственный» файл, который захотите, а также такие вещи, как .bmps и прочее, что VisualStudio «знает», как редактировать. Затем вы можете получить к ним доступ с помощью функций ресурсов вашего фреймворка, таких как FindResource LoadResource и т. д.

Если у вас нет сценария ресурсов.

  1. Click Project
  2. Add New Item
  3. Resource Script

http://msdn.microsoft.com/en-us/library/sxdy04be(v=VS.71).aspx.

person Robert    schedule 29.04.2010
comment
Как с этим импортировать двоичные данные? Кажется, это легко сделать с растровым изображением (.bmp), значком (.ico), курсором (.cur), файлом Html (.htm), но как это сделать с импортом других данных? - person CrimsonX; 29.04.2010
comment
Что делать, если нет сценария ресурсов? - person Jive Dadson; 29.04.2010
comment
@CrimsonX Когда вы импортируете файл, который Visual Studio не понимает или не редактирует, он все равно может вставить его в данные PE-файла (исполняемый файл или dll), даже если он не может его прочитать. Ресурсы - это просто файлы в разделе данных вашего exe или dll. msdn.microsoft.com/en-us/magazine/cc301805.aspx - person Robert; 30.04.2010
comment
Спасибо за разъяснения и помощь Роберту, я попробую. Это очень ценится. - person CrimsonX; 30.04.2010

Вы можете встроить двоичные данные в виде массива языка C - никаких ресурсов не требуется. Старый классический трюк. см., например, XD

person renick    schedule 29.04.2010