On Monday, 6 June 2016 at 02:05:09 UTC, Pie? wrote:
I saw somewhere someone explaining how to embed resources into a binary using the import keyword.

I believe the essentially converted the file into a ubyte or something and then wrote that out to a temp file and read in the temp file... this seems a bit of a kludge to me.

Is it possible to do the same, but create a sort of "in memory" file layout?

While I can modify my own routines to read the "file" from memory, I can't do that easily with outside code(I could modify the binaries).

Basically reading a file has to read it to memory, and if the file data already exists in memory, there is no point to read, just get it direct.

Any thoughts on this?

Because D allows such an embedding feature, maybe the file system should allow working with this concept? That way, it becomes VERY easy to embed files into the binary and work with them like they wernt. Also, going between the two different versions(embedded vs not) could be done with version (Release).

I'm not sure about import, but one option is to put the external files directly in your binary as part of the linker step. Check out:

http://www.linuxjournal.com/content/embedding-file-executable-aka-hello-world-version-5967

On Windows I think there's a way to embed files in .DLLs and then link those into your executable, but I'm ignorant of the steps/tools required.

-Jon

Reply via email to