waqur: (Евро)
[personal profile] waqur
http://chromium-cpp.appspot.com/ перечисляет фичи C++11, которые разрешены и забанены в проекте Google Chrome. Забавно, кстати, что вариадические шаблоны в C++11 делают ненужным специализированный велосипед с квадратными колёсами препроцессор pump, который был написан в Google, чтобы смягчить отсутствие этих самых вариадических шаблонов в C++98.

Среди забаненных фич (например constexpr, move references, char16_t, char32_t, Unicode literals) основная причина бана — неподдержка в компиляторе MSVC2013. По-моему, это добрая половина нового стандарта, и тут не фичи C++11 нужно банить, а сам компилятор. Ну или для всех практических целей считать, что этот компилятор поддерживает только режим C++98.

Особенно с учётом того, что в GCC недавно была добавлена поддержка SEH ABI для исключений (ранее gcc под виндой обрабатывал исключения только в режимах dwarf2 и sjlj. dwarf2 хорош в Linux, а в винде его использование приводило к падению процесса во время раскрутки стека на первой же функции, сгенерированной компилятором MSVC; а sjlj работает через setjump/longjump — что очень медленно, даже когда исключения не генерируются).

Date: 2014-09-28 10:07 am (UTC)
From: [identity profile] alexfifer.livejournal.com
Интересно, почему они не хотят юзать mingw 4.8.1?

Date: 2014-09-28 02:14 pm (UTC)
From: [identity profile] waqur.livejournal.com
хз, Chromium большой проект, может в mingw'шном аналоге Platform SDK не всё гладко с WPF DWM интеграцией (полупрозрачные заголовки окон и прочие красивости эпохи Vista+) или с DirectX-интеграцией, или-через-что-там-работает-этот-WebGL.

Date: 2014-09-28 02:16 pm (UTC)
From: [identity profile] waqur.livejournal.com
а то вдруг браузер не сможет отображать вот такие страницы:
https://webglsamples.googlecode.com/hg/aquarium/aquarium.html
без них в наше время, сами понимаете, никуда

Date: 2014-09-28 10:46 pm (UTC)
From: [identity profile] fi_mihej.livejournal.com
Потому что mingw - это конструктор Лего (пусть и с моторчиками да с моделями гидравлических поршней). А нужен нормальный рабочий инструмент у которого нет проблем с WinApi. В последний раз когда я mingw использовал - у него были проблемы, по-моему с gdi+ (если правильно помню конечно). Но это я узнал только потому что в то время, имел дело конкретно с gdi+: я модифицировал для себя библиотеку WxWidgets так что-бы ее компоненты стали иметь представление про наличие во вселенной, новомодного на тот момент DWM, и могли корректно переключатся из режима обычной отрисовки - в режим отрисовки текста поверх стекловидного фона. Это я к тому что если бы я еще куда-то в другие глубины влезал на тот момент - я бы еще и другие проблемы в mingw откопал бы.

PS: если вдруг не нравится вежливая аналогия с Лего - то есть и другая: ведро с гайками.

Date: 2014-09-29 05:02 am (UTC)
From: [identity profile] alexfifer.livejournal.com
Насчёт конструктора согласен.

Но это (мне лично) не кажется такой уж большой платой за вкусности С++ 11.

Date: 2014-09-29 04:53 pm (UTC)
From: [identity profile] cd-riper.livejournal.com
добрая половина нового стандарта это auto и lambda.
тот же variadic templates больше для библиотекописателей, чем для простых смертных.

March 2024

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      

Автор стиля

Развернуть

No cut tags
Page generated 2026-05-07 05:21 am
Powered by Dreamwidth Studios