Гора Дженту
Карачаево-Черкесская Республика, Урупский район
https://yandex.ru/maps/org/gora_dzhentu/64354870987
Ждем ебилдов.
Карачаево-Черкесская Республика, Урупский район
https://yandex.ru/maps/org/gora_dzhentu/64354870987
Ждем ебилдов.
Яндекс Карты
Гора Дженту, горная вершина, Карачаево-Черкесская Республика, Урупский район — Яндекс Карты
Рейтинг 4,7. 8 отзывов, 17 фото. Построить маршрут — вы можете в Яндекс Картах
😁4👍1
https://github.com/llvm/llvm-project/pull/68620
ПОСОНЫ, ТУТ #embed ВЛЕТЕЛ В ШЛАНГ, теперь заживем!
upd1: пока ревертнули, чтобы починить билдботов, но работа идет!
upd2: влили с фиксами, йее
Вкратце(нет) :
#embed - это новая директива препроцессора, позволяющая НОРМАЛЬНО добавлять бинарные файлы в ваш исходный код (пока что на языке Си, но в C++ оно тоже скоро просочится). Если вы используете какие-то бинарные данные типа картинок, сырых двоичных ключей, гуидов, и пр., то эта фича для вас, и это то, что вы ждали10 лет в Азкабане 40+ лет с момента создания сишки!
Пример кода:
Текущие подходы состоят из лютых костылей типа скриптов, которые печатают бинарь как массив; xxd; bin2c (очень распространен в определенных кругах) и прочие более-менее кривые (или) нет скрипты на ваших любимых языках оболочки типа cmd/bash/fish/python.
Эта бумага пережила 12 ревизий и готовилась примерно 5-6 лет!!! (включая прошлую версию, в которой также был
Автор потратил кучу нервов и сил (почитать его слезы и посочувствовать можно в его блоге здесь (обзор и бенчмарки - [1]), здесь (подход с языком Circle и бенчмарки - [2]) здесь (заметки для критиков - [3]), здесь (заметка о том, что принято в C23 и будет поэтому в C++26 - [4])). Его долго пинали в комитетах, то говорили, что это будет медленно работать (бенчмарки показали обратное, см. ниже), то говорили, чтобы он придумал "более generic"-подход, в стиле языка Circle, который, грубо говоря, является C++ с возможностью выполнять любой код на этапе компиляции, главное, пометить блок/функцию собачкой (@).
Бенчмарки из статьи [2] выглядят так:
Теперь эта фича уже точно будет в Clang 19 (кому не терпится, соберите текущий
Поздравляю автора с этим достижением, и просто убеждаюсь, что в каждом меме есть доля шутки 😢
#длиннопостик #cpp #std_embed #thephd
ПОСОНЫ, ТУТ #embed ВЛЕТЕЛ В ШЛАНГ, теперь заживем!
upd1: пока ревертнули, чтобы починить билдботов, но работа идет!
upd2: влили с фиксами, йее
Вкратце
#embed - это новая директива препроцессора, позволяющая НОРМАЛЬНО добавлять бинарные файлы в ваш исходный код (пока что на языке Си, но в C++ оно тоже скоро просочится). Если вы используете какие-то бинарные данные типа картинок, сырых двоичных ключей, гуидов, и пр., то эта фича для вас, и это то, что вы ждали
Пример кода:
// firmware_sound.c
const char wave_buf[] =
#embed "notification.wav"
; // добавим бинарный файл сразу в прошивку
Текущие подходы состоят из лютых костылей типа скриптов, которые печатают бинарь как массив; xxd; bin2c (очень распространен в определенных кругах) и прочие более-менее кривые (или) нет скрипты на ваших любимых языках оболочки типа cmd/bash/fish/python.
Эта бумага пережила 12 ревизий и готовилась примерно 5-6 лет!!! (включая прошлую версию, в которой также был
std::embed - consteval-функция, которая делает то же самое, но на этапе компиляции, а не препроцессинга).Автор потратил кучу нервов и сил (почитать его слезы и посочувствовать можно в его блоге здесь (обзор и бенчмарки - [1]), здесь (подход с языком Circle и бенчмарки - [2]) здесь (заметки для критиков - [3]), здесь (заметка о том, что принято в C23 и будет поэтому в C++26 - [4])). Его долго пинали в комитетах, то говорили, что это будет медленно работать (бенчмарки показали обратное, см. ниже), то говорили, чтобы он придумал "более generic"-подход, в стиле языка Circle, который, грубо говоря, является C++ с возможностью выполнять любой код на этапе компиляции, главное, пометить блок/функцию собачкой (@).
Бенчмарки из статьи [2] выглядят так:
Методология | Время
----------------+--------------
#embed | 17 seconds
std::embed | 16 seconds
#include, |
сгенерированный | 621 seconds
xxd | (КАРЛ!!!!)
Теперь эта фича уже точно будет в Clang 19 (кому не терпится, соберите текущий
trunk и радуйтесь), в MSVC есть тикет на добавление, в GCC тоже (для нетерпеливых есть патч в тикете, можете собрать).Поздравляю автора с этим достижением, и просто убеждаюсь, что в каждом меме есть доля шутки 😢
#длиннопостик #cpp #std_embed #thephd
GitHub
✨ [Sema, Lex, Parse] Preprocessor embed in C and C++ (and Obj-C and Obj-C++ by-proxy) by ThePhD · Pull Request #68620 · llvm/llvm…
This pull request implements the entirety of the now-accepted N3017 - Preprocessor Embed and its sister C++ paper p1967. It implements everything in the specification, and includes an implementatio...
🔥7👍5
❤2🔥2
Forwarded from Daniel Myslivets
This media is not supported in your browser
VIEW IN TELEGRAM
Linux запустили на нативном режиме Windows XP
Нативный режим доступен во время загрузки системы, когда другие компоненты Windows ещё не запущены (таким образом появляется проверка диска перед окончательным запуском ОС)
LinuXP? Да!
Нативный режим доступен во время загрузки системы, когда другие компоненты Windows ещё не запущены (таким образом появляется проверка диска перед окончательным запуском ОС)
LinuXP? Да!
🤯2
Daniel Myslivets
Linux запустили на нативном режиме Windows XP Нативный режим доступен во время загрузки системы, когда другие компоненты Windows ещё не запущены (таким образом появляется проверка диска перед окончательным запуском ОС) LinuXP? Да!
Уточнение: по нашем экспертному анализу в комментариях к новости мы поняли, что тут запущен был qemu-riscv в нативном режиме WinXP :D
Ор выше гор. Но в целом, к исходной новости претензий нет - ведь и правда "запустили" же!!!!
Ор выше гор. Но в целом, к исходной новости претензий нет - ведь и правда "запустили" же!!!!
🤣7👍1🔥1