The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Дискуссия об использовании языка C++ для разработки ядра Linux, opennews (??), 14-Янв-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


2. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от oficsu (ok), 14-Янв-24, 21:46 
Там жалобы есть в том числе на макросы. А они вполне себе могут компилиться дольше, чем какие-нибудь шаблоны, решающие ту же задачу
Ответить | Правка | Наверх | Cообщить модератору

18. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +3 +/
Сообщение от Аноним (18), 14-Янв-24, 22:08 
>Там жалобы есть в том числе на макросы. А они вполне себе могут компилиться дольше, чем какие-нибудь шаблоны, решающие ту же задачу

ШТО?

Макросы, в отличие от шаблонов цпп, не обладают тьюринговой полнотой. Это шаблоны можно заставить компилироваться сколь угодно долго.

Ответить | Правка | Наверх | Cообщить модератору

52. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +3 +/
Сообщение от funny.falcon (?), 14-Янв-24, 23:20 
> не обладают тьюринговой полнотой

Но остаётся совсем чуть-чуть до этого.

https://github.com/Hirrolot/metalang99
https://jadlevesque.github.io/PPMP-Iceberg/

Я сделал на шаблонах довольно мощную штуку с объектным программированием на C.
И оно компилится действительно очень долго.
Кроме TCC, он быстр даже в этих шаблонах. Правда, чуть-чуть бажит.

Ответить | Правка | Наверх | Cообщить модератору

61. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +4 +/
Сообщение от Аноним (-), 14-Янв-24, 23:41 
> Я сделал на шаблонах довольно мощную штуку с объектным программированием на C.
> И оно компилится действительно очень долго.

А я сделал себе верификацию ряда операций в компилтайме, скажем что я в 32 бит регистре не трогаю 35-й бит. Почти хруст получился. Даже не тормозит особо. В сабже кстати есть зачатки этого добра откуда я и содрал идею.

Хотя круче всего это в Zig сделано - там можно компил тайм предвычисления юзая стандартный синтаксис яп. Плюсы в этом смысле - убогие полумеры, ибо препроцессор с отдельным синтаксисом никуда не делся. А какой-нибудь constexpr знатный горбыль так то.

Ответить | Правка | Наверх | Cообщить модератору

56. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  –1 +/
Сообщение от Аноним (-), 14-Янв-24, 23:32 
> Макросы, в отличие от шаблонов цпп, не обладают тьюринговой полнотой.
> Это шаблоны можно заставить компилироваться сколь угодно долго.

Они ну вот буквально на грани :). Единственный лимит - рекурсия до 128, чтоли, уровней в GCC разрешена. Но с таким количеством рекурсии можно основательно позажигать.

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

69. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  –1 +/
Сообщение от oficsu (ok), 14-Янв-24, 23:48 
> Это шаблоны можно заставить компилироваться сколь угодно долго

Да, можно. Но это рассуждение об экстремальных примерах. Но экстремальные примеры — скорее редкость. Дуплицирование кода от макросов способно замедлять компиляцию точно так же, как и шаблоны. И способно иногда замедлять её даже сильнее при решении аналогичных задач

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

214. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +2 +/
Сообщение от Аноним (214), 15-Янв-24, 10:28 
Тормозящие шаблоны целиком типичная ситуация в 100% проектов. Программы на этом языке компилируются дольше всего.
Ответить | Правка | Наверх | Cообщить модератору

408. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Аноним (293), 15-Янв-24, 20:31 
Шаблоны это compile time. Ну и хрен с ними, сколько им компиляться. Главное, чтобы потом сгенерённый код быстро работал.
Ответить | Правка | Наверх | Cообщить модератору

30. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Bottle (?), 14-Янв-24, 22:29 
А ещё макросы не анализируются также хорошо как шаблоны через статический анализ.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру