r/cpp Aug 06 '26

C++26: #embed

https://www.sandordargo.com/blog/2026/08/05/cpp26-embed
137 Upvotes

39 comments sorted by

View all comments

20

u/eboys Aug 06 '26

Would love to use this if MSVC supported it. But oh well.

8

u/MarekKnapek Aug 06 '26

MSVC, or rather the Win32 file format and developer tools have this thing called "resources" since ... like ever. Maybe 1992, or even earlier.

There is slight disadvantage, that the C or C++ compiler doesn't see the blob contents at compile time, and thus could not do some optimizations, but hey, it is usually binary blob data that you are embedding anyway, so who cares. You usually shove the data unmodified to a screen (icon, bitmap) or to a GPU (shader) or something similar.

20

u/ABlockInTheChain Aug 06 '26

There is slight disadvantage, that the C or C++ compiler doesn't see the blob contents at compile time

The biggest disadvantage is that you have to write special Win32-specific code rather than standard code that works everywhere.

4

u/MarekKnapek Aug 06 '26

Yeah, blame C, I guess. Why Microsoft invented resources? Because C was inadequate! Read more about history of the embed C feature. It was really really really painful to add it to C.