| ▲ | CamouflagedKiwi 10 hours ago | |||||||
You can also do it using ld - it's something like ld -r --format binary -o out.o <file>, although you do want some build system assistance to generate header files allowing you to access the thing (somewhat similar to the assembly example here). It's a bit of a performance but I strongly prefer it to generating header files in the earlier options - those header files can end up being _very_ large (they generally multiply up the size of the embedded file by 2-4x) and slow to compile. All a bit less relevant now since recent C++ versions have this built in by default. Generally something languages have been IMO too slow on (e.g. Go picked this up four or so years ago, after a bunch of less nice home-grown alternatives), it's actually just really useful to make things work in the real world, especially for languages that you can distribute as single-file binaries (which IMO should be all of them, but sadly it's not always). | ||||||||
| ▲ | jcalvinowens 9 hours ago | parent [-] | |||||||
The special ld argument is a gnu thing, it's not portable and at least lld doesn't support it. https://github.com/jcalvinowens/ircam-viewer/commit/17b3533b... | ||||||||
| ||||||||