__has_embed is a C23 preprocessing feature for testing binary-file embedding. First test whether __has_embed is defined; then call __has_embed("picture.dat") in a preprocessor condition to determine whether that file can be embedded. section 14.6
Guard an embedded initializer
unsigned char logo[] = {\n#if defined(__has_embed) && __has_embed("picture.dat")\n# embed "picture.dat"\n#else\n "embed directive is missing"\n#endif\n};\n\nWhen supported and available, #embed supplies the file's bytes as comma-separated decimal values suitable for initializing logo; otherwise the fallback text is used. section 14.6
