P1967 #embed и D2752 «Статическое хранилище для initializer_list» теперь находятся в Compiler Explorer.
https://quuxplusone.github.io/blog/2023/01/13/embed-and-initializer-lists/
https://quuxplusone.github.io/blog/2023/01/13/embed-and-initializer-lists/
quuxplusone.github.io
P1967 #embed and D2752 “Static storage for initializer_list” are now on Compiler Explorer
C++26 has adopted JeanHeyd Meneide’s proposal P1967 “#embed”,
which will allow C++ (and C) programmers to replace their use of the xxd -i utility
with a built-in C preprocessor directive:
unsigned char favicon_bytes[] = {
#embed "favicon.ico"
};
which will allow C++ (and C) programmers to replace their use of the xxd -i utility
with a built-in C preprocessor directive:
unsigned char favicon_bytes[] = {
#embed "favicon.ico"
};
🎯✏️ Реализация #embed для C и C++
Речь пойдет о реализации директивы бинарного включения данных в gcc и clang для C и C++.
Автор опишет способ, которым реализовал #embed для GCC и Clang, и стиль работы, который использовал для ранней версии #embed. Будет использоваться общедоступная версия #embed, которая предложена Clang, в качестве инструмента для отображения одного из используемых методов, позволяющих получить гарантированное ускорение для подмножества случаев, которые имеют значение (например, инициализация массива char/signed char/unsigned char).
Изучить материал
#гайд
Речь пойдет о реализации директивы бинарного включения данных в gcc и clang для C и C++.
Автор опишет способ, которым реализовал #embed для GCC и Clang, и стиль работы, который использовал для ранней версии #embed. Будет использоваться общедоступная версия #embed, которая предложена Clang, в качестве инструмента для отображения одного из используемых методов, позволяющих получить гарантированное ускорение для подмножества случаев, которые имеют значение (например, инициализация массива char/signed char/unsigned char).
Изучить материал
#гайд