The OpenNET Project / Index page

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

Релиз набора компиляторов GCC 8

02.05.2018 22:20

После года разработки опубликован релиз свободного набора компиляторов GCC 8.1, первый значительный выпуск в новой ветке GCC 8.x. В соответствии с новой схемой нумерации выпусков, версия 8.0 использовалась в процессе разработки, а незадолго до выхода GCC 8.1 уже ответвилась ветка GCC 9.0, на базе которой будет сформирован следующий значительный релиз GCC 9.1.

GCC 8.1 примечателен реализацией некоторых возможностей будущего стандарта C++20 (кодовое название C++2a), существенным расширением средств диагностики, значительным улучшением PGO-оптимизаций (Profile-guided optimization), включением новых оптимизаций выполнения циклов, обеспечением поддержки SVE (Scalable Vector Extension) для архитектуры AArch64, поддержкой CPU Intel Cannonlake и Intel Icelake.

Основные изменения:

  • Добавлена экспериментальная поддержка части будущего стандарта C++2a. Для включения поддержки C++2a следует использовать опции "-std=c++2a" и "-std=gnu++2a";
  • В libstdc++ добавлены новые возможности стандартов C++17 и C++2a: std::filesystem, std::char_traits, std::to_chars, std::from_chars, std::to_address и std::endian. Добавлена поддержка расширений математических функций __gnu_cxx::airy_ai и __gnu_cxx::airy_bi;
  • Существенно улучшен механизм оптимизации на основе результатов профилирования кода (PGO - Profile-guided optimization), который генерирует более оптимальный код на основе анализа особенностей выполнения кода. На системах x86/x86_64 тело функции теперь разделяется на горячие и холодные регионы выполнения, данный режим оптимизации (-freorder-blocks-and-partition) по умолчанию применяется начиная с уровня "-O2";
  • В системе оптимизации на этапе связывания (LTO) представлен новый способ подстановки отладочной информации в формате DWARF, что упрощает отладку оптимизированного кода;
  • Добавлены новые оптимизации циклов: "-floop-unroll-and-jam" (раскрутка внешнего цикла и слияние копий внутреннего цикла) и "-floop-interchange" (обмен циклами во вложенном цикле для улучшения локализации данных). Улучшена работа оптимизации "-ftree-loop-distribution" (расщепление тела вложенного цикла на несколько циклов). Включены по умолчанию при выборе режима "-O3" оптимизации "-ftree-loop-distribution", "-floop-unroll-and-jam" и "-floop-interchange". Полностью переработан режим оптимизации "-floop-nest-optimize". Для тонкого управления оптимизациями раскрутки цикла добавлена новая pragma "unroll";
  • Улучшены межпроцедурные оптимизации: переработаны собираемые в процессе выполнения оценочные метрики, которые теперь более реалистично отражают ситуации, для которых можно использовать inline-развёртывание или клонирование;
  • Добавлена опция "-fcf-protection=[full|branch|return|none]", позволяющая повысить защищённость собираемого приложения благодаря выполнению проверок целевых адресов в инструкциях передачи потока выполнения (например, при косвенных вызовах функций, возврате из функций и косвенных jump-переходов);
  • Добавлена опция "-fstack-clash-protection", при указании которой компилятор подставляет проверочные вызовы (probe) при каждом статическом или динамическом выделении места для стека, которые позволяют выявлять факты переполнения стека и блокировать методы атак, связанные с пробросом потока выполнения через guard-страницы защиты стека;
  • В детекторе неопределенного поведения (Undefined Behavior Sanitizer), выявляющего ситуации, когда поведение программы становится неопределенным (зависит от реализации компилятора) из-за ошибки программиста, предложены две новые опции: "-fsanitize=builtin" для диагностики некорректных аргументов вызовов __builtin_clz или __builtin_ctz, и "-fsanitize=pointer-overflow" для проверки появления недопустимых значений указателей;
  • В Address Sanitizer добавлены режимы "-fsanitize=pointer-compare" и "-fsanitize=pointer-subtract", выводящие предупреждение о выполнении операций вычитания или сравнения над указателями, которые ссылаются на разные объекты в памяти;
  • Значительно расширены средства диагностики, обеспечено более точное определение местоположения проблем в коде и представлены подсказки по устранению проблем. Например, в случае пропущенных скобок '}' и ')' компилятор теперь указывает на место возможного пропуска. В случае обращения к приватным полям класса или структуры, выдаётся подсказка по использованию функции-обёртки. Показывается когда можно использовать static_cast, const_cast и reinterpret_cast. Не подходящие друг другу типы шаблонов выделяются цветом или могут быть визуализированы (-fdiagnostics-show-template-tree) в иерархическом виде;
  • В компиляторы C и C++ добавлены новые предупреждения: "-Wmultistatement-macros" (небезопасное раскрытие макроса), "-Wstringop-truncation" (при усечении строки, копируемой через strncat, strncpy и stpncpy), "-Wif-not-aligned" (некорректное определение объектов с атрибутом warn_if_not_aligned), "-Wmissing-attributes" (пропущены атрибуты при определении функции), "-Wpacked-not-aligned" (struct или union определены с атрибутом packed и выравниванием больше 1), "-Wcast-function-type" (некорректное приведение типа для указателя на функцию), "-Wsizeof-pointer-div", "-Wcast-align=strict", "-Wclass-memaccess". В режимах "-Warray-bounds", "-Wformat-overflow" и "-Wformat-truncation" расширено число распознаваемых ситуаций выхода за границы массивов и переполнений буфера;
  • Включена по умолчанию опция "-gcolumn-info", при которой в отладочную информацию DWARF добавляются не только имя файла и номер строки, но и данные о столбце;
  • Поддержка развиваемого компанией Google языка программирования Go обновлена до версии 1.10.1. Сборщик мусора переведён на работу в параллельном режиме;
  • Для архитектуры ARM64 (AArch64) добавлена поддержка механизма SVE (Scalable Vector Extension), предоставляющего расширенные инструкции для векторной обработки данных, дополняющие набор NEON средствами для ускорения операций векторизации для научных вычислений;
  • Добавлена поддержка архитектур ARM: Armv8-R (-march=armv8-r), Armv8.3-A (-march=armv8.3-a) и Armv8.4-A (-march=armv8.4-a) и процессоров Arm Cortex-A75 (cortex-a75), Arm Cortex-A55 (cortex-a55), Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (cortex-a75.cortex-a55) и Arm Cortex-R52 для Armv8-R (cortex-r52);
  • Добавлена поддержка процессоров Intel Cannonlake (-march=cannonlake) c расширениями AVX512VBMI, AVX512IFMA и SHA, и Intel Icelake (-march=icelake) c расширениями AVX512VNNI, GFNI, VAES, AVX512VBMI2, VPCLMULQDQ, AVX512BITALG, RDPID и AVX512VPOPCNTDQ;
  • Для систем x86 добавлена поддержка расширения CET (Intel Control-flow Enforcement Technology) активируемого при помощи опций "-mibt", "-mshstk" и "-mcet";
  • Удалена поддержка устаревшего формата отладочной информации SDB/coff, опция "-gcoff" больше не поддерживается;
  • Удалена поддержка расширений Cilk+ и MPX для языков C и C++, с реализацией предложенной компанией Intel методики параллельного программирования и механизма защиты памяти.


  1. Главная ссылка к новости (https://gcc.gnu.org/ml/gcc-ann...)
  2. OpenNews: Релиз набора компиляторов LLVM 6.0
  3. OpenNews: GCC на пути удаления компилятора для Java
  4. OpenNews: Для GCC представлен бэкенд c реализацией WebAssembly
  5. OpenNews: Ошибка в GCC привела к игнорированию режима выявления проблем с форматированием строк
  6. OpenNews: Релиз набора компиляторов GCC 7
Лицензия: CC-BY
Тип: Интересно / Программы
Ключевые слова: gcc, compile
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (100) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.2, Xasd (ok), 22:36, 02/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    а где про Спектр чтонибудь?

    всё? надоело исправлять?

     
     
  • 2.5, Аноним (-), 22:52, 02/05/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Защиту от Spectre ещё в GCC 7.3 добавили https://www.opennet.ru/opennews/art.shtml?num=47963
     
     
  • 3.14, Аноним (-), 01:19, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –5 +/
    где?

    вот это?

    > Сборка приложений с представленными опциями позволяет избежать проявления второго варианта уязвимости Spectre (CVE 2017-5715) на системах x86 и powerpc.

    ???

    а без укащания опций -- что будет?

    то есть компилятор поумолчанию собирает зведомо дырявый код? (если только ты не указываешь там какие-то экспериментальные опции?)

    а как насчёт не экспериментального решения? какое оно?

    ну и ладно.. хорошо.. это было доя второго.. а где *окончательное* решение для первого спектра -- какое в итоге они выбрали для его регения?

     
     
  • 4.27, Аноним (-), 07:47, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Как сподобишься погуглить/почитать - приходи и держи нас в курсе.
     
     
  • 5.29, Аноним (-), 08:27, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    только какие-то фрагментарные наработки..

    ничего такого что выглядело бы законченным

     
     
  • 6.32, Аноним (-), 09:26, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    И вообще экосистема фргментированная и инновации не инновации, без методички у тебя не очень получается.
     
     
  • 7.36, X4asd (ok), 09:57, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > без методички у тебя не очень получается.

    вообще-то тут GCC обсуждаем а не комментаторов.

    ну давай же что-нибудь напиши по существу про...

    mitigations against CVE-2017-5753 (aka Spectr v1) on GCC

    ...или способен только давать оценки участникам этого форума?

    # P.S.: и в итоге -- если мы вернёмся в русло обсуждения GCC -- то заметим что можно только лишь вызывать __builtin_load_no_speculate() -- что ЯВНО не выглядет как полное решение, так как остаётся очень неочевидным для человека как найти все места куда нужно это вставить. хотя компилятор вполне мог бы сделать анализ и вставить сам (без участия человека).

    # P.P.S.: на этом моменте обычно появляетя Шигорин и опять начинаёт обсуждать квалификцию коментаторов а не subject

     
     
  • 8.41, Michael Shigorin (ok), 10:31, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    - ... текст свёрнут, показать
     
  • 8.54, Алконим (?), 14:48, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Все эти уязвимости построены на точном измерении Если не давать точно измерять ... текст свёрнут, показать
     
  • 8.56, Аноним (-), 15:31, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И еще размахивать земляным червяком W W эльбрусом, рассказывая что он типа не уя... текст свёрнут, показать
     
  • 4.104, Аноним (-), 10:46, 07/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > то есть компилятор поумолчанию собирает зведомо дырявый код.

    Вы в корне не правы, код он собирает такой, какой должен работать на "правильном" процессоре, но из-за того что на текущий момент таких не особо завезли, есть возможность скомпилировать его так, что-бы за счёт дополнительных инструкций обеспечить защиту адресного пространства конкретного процесса, но при этом придётся пожертвовать производительностью.

     
  • 2.68, iZEN (ok), 11:42, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > а где про Спектр чтонибудь?

    В LLVM 5.0.2 недавно добавили. Но он уже не нужен - есть LLVM 6.0.0.

     

  • 1.3, Аноним (-), 22:44, 02/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    До Фортрана не дочитали? :) Там тоже ништяки

    - Parameterized derived types, a major feature of Fortran 2003, have been implemented.

    - New flag -fc-prototypes to write C prototypes for BIND(C) procedures and variables.

     
     
  • 2.17, Anonymous_ (?), 02:34, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > До Фортрана не дочитали?

    Так им ведь сейчас пользуются всего три калеки с хобота.

     
     
  • 3.22, Аноним (-), 05:26, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не 3, а 16

    https://github.com/search?l=fortran&q=program&type=Users

     
     
  • 4.23, Аноним (-), 06:28, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    5578

    https://github.com/search?l=&q=language%3AFortran&type=Users

     
  • 3.37, Aknor (?), 10:08, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Патамушта все приличные люди пользуются фортраном от Intel (кроме тех кто использует Absoft)(ну а fortran от numreics algoritm group используют люди вообще во всех отношениях фешенебельные).
     

  • 1.4, A.Stahl (ok), 22:44, 02/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >C++20

    До сих пор использую 98й стандарт с крошечными вкраплениями 11. И не потому что ограничения платформы или легаси, а просто ничего особо для меня интересного.
    Но пусть... За что мы все (да, все) любим плюсы и Си? За обратную совместимость, когда из стандарта выкидывают вещи только те, которые на практике уже десятилетиями никто не использует. Ну или которые просто не прижились.
    Триграфы (или как их там) только совсем недавно выкинули.
    Ну шикарный же язык.
    Не Питон какой-то там.

     
     
  • 2.6, Аноним (-), 23:33, 02/05/2018 [^] [^^] [^^^] [ответить]  
  • –16 +/
    > Не Питон какой-то там.

    И как там в сишечке, уже запилили поддержку юникода ? А нормализацию NFC / NFKC / NFD / NFKD ?
    Как обстоят дела с парсингом JSON ?
    Можно ли на нем сделать REST-API бэкэнд ?

     
     
  • 3.7, A.Stahl (ok), 23:37, 02/05/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я больше на плюсах пишу. С Юникодом не идеально, но принципиальных проблем нет.
     
     
  • 4.102, Led (ok), 18:40, 06/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я больше на плюсах пишу.

    Врёшь: ты больше на опеннете ср^Wпишешь.

     
  • 3.13, Пюсовик (?), 01:10, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Для юникода уже давным-давно существует куча библиотек. Или вам поддержку mysql прямо в языке надо? Тогда напрявляйтесь на PHP

    Парсинг жсонов - то же.

    REST-API - язык создан для других задач.

     
  • 3.18, Аноним (18), 02:40, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Юникод опционально неплохо бы(в стандартную либу и то спорно), а остальное в языке даром не нужно, не позорьтесь.
     
  • 3.25, Аноним (-), 06:48, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как обстоят дела с парсингом JSON ?

    json-c, jansson, yajl,etc

    > Можно ли на нем сделать REST-API бэкэнд ?

    Можно, разрешаю. А на том, на чем обычно делают, можно драйвер/firmware, файловую систему или ядро ОС написать?

     
     
  • 4.96, анон (?), 20:15, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    На JS таки пишут и драйверы, и ОС, и файловые системы.
    В качестве шутки конечно.
     
  • 3.26, Ydro (?), 07:10, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ты глянь, Нюр, ему заграничные буквы понадобились, КОИ-8 ему уже недостаточно, хипстер проклятый.
     
     
  • 4.42, Аноним (-), 10:31, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >КОИ-8 ему уже недостаточно, хипстер проклятый.

    Это сарказм или брат Saahriktu?

     
  • 3.30, Аноним (-), 08:42, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И как там в сишечке, уже запилили поддержку юникода ?

    нет, операционки на бейсике пишут, чтоб была поддержка юникода

     
  • 3.53, Аноним (-), 13:40, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И как там в сишечке, уже запилили поддержку юникода ? А нормализацию NFC / NFKC / NFD / NFKD ?

    http://site.icu-project.org/download

    > Как обстоят дела с парсингом JSON ?

    https://github.com/json-c/json-c/releases
    http://www.digip.org/jansson/

    > Можно ли на нем сделать REST-API бэкэнд ?

    Можно, разрешаю. Если без фрейморков не умеешь, держи: https://babelouest.github.io/ulfius/

     
  • 3.60, Аноним (-), 19:14, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Как там у питона с параллелизмом по потокам, просветите, пожалуйста? Все еще GIL не дает выполнять больше одного потока за раз? В плюсах еще с 11 года приехали пусть не очень богатые, но удобные std::thread, позволяющие на пару с лямбдами быстро и красиво писать многопоточный код. Да что там, даже в такого мастодонта, как С, притащили многопоточность. Не говоря о том, что еще до этого момента была куча сторонних решений. А питон как?
     
  • 3.64, Нефашист (?), 01:10, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    http://en.cppreference.com/w/cpp/locale/codecvt
     
  • 3.65, Аноним (-), 09:40, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А как же Основная фича utf8 так вообще в том что он работает с минимумом измене... текст свёрнут, показать
     
  • 3.105, KroTozeR (ok), 16:39, 08/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> уже запилили поддержку юникода

    Нафига?
    >> нормализацию NFC / NFKC / NFD / NFKD

    Нафига??
    >> Как обстоят дела с парсингом JSON

    Нормально обстоят: чё хочешь, то и используешь в роли парсера. Свобода выбора сохраняется.
    >> Можно ли на нем сделать REST-API бэкэнд

    Всегда можно было. Даже задолго до изобретения этой концепции)

     
  • 2.8, kai3341 (ok), 00:18, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Возможно, тут есть что-то разумное, доброе, вечное Например, при работе с микро... текст свёрнут, показать
     
     
  • 3.10, a (??), 00:31, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Вот надо навязать свой маня-мирок, да? И я бы понял разумную критику
    > возможностей языка. Так нет же -- табы с пробелами не нравятся

    не нравится несовместимость версий, 2 - 3, задолбали, ладно бы это, но там жеж еще несовместимость либ на самом питоне, тянуть какойто шлак в обход системного пакетного менеджера, который запросто ломает системные скрипты.

     
     
  • 4.43, Michael Shigorin (ok), 10:36, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ладно бы это, но там жеж еще несовместимость либ на самом питоне,
    > тянуть какойто шлак в обход системного пакетного менеджера,
    > который запросто ломает системные скрипты.

    Лет пятнадцать назад cray@ предпринял недюжинные усилия в попытке скрестить питон с дистрибутивом (точнее даже несколько питонов разных версий), даже некоторое время сопровождал zope в таком виде -- в итоге сдался с этим подходом и пошёл делать pypi, если не ошибаюсь.

    Сложная это тема и лучше бы её в какое питоновое обсуждение, а не gcc-шное.  А если по существу -- так и вовсе не на форум, а в профильные рассылки (питоновые и/или междистрибутивные).

     
     
  • 5.49, Аноним (-), 12:36, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Блин, кто все эти люди, кто эти zope'ы? Зачем ты сюда это пишешь?
     
     
  • 6.57, Аноне (?), 16:29, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Люди, которые хоть что-то делали, а не пытались придираться к другим.
     
     
  • 7.72, Аноним (-), 13:44, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Люди, которые хоть что-то делали, а не пытались придираться к другим.

    Делали что? Помогали развести офтоп про какую-то zope'у в ветке про GCC? Один еще и с модерскими регалиями - вишенка на торте. Утверждается что это нужная, полезная и хорошая активность?

     
     
  • 8.106, KroTozeR (ok), 16:52, 08/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Работу делали Свою прямую и общественно-полезную, а не придирались, как некотор... текст свёрнут, показать
     
  • 8.107, Michael Shigorin (ok), 17:05, 08/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вы сейчас здесь чем занимаетесь, помимо самовольного модерирования Если по сути... текст свёрнут, показать
     
  • 5.62, a (??), 23:39, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну вот, проблеме уже лет 15, а ее ктото решает, - нет. гцц тоже, имхо, много тащит не проверенного и сомнительно нужного, лучше бы о кроссплатформенности бы подумали, а то надо чтото собрать под телефон, так тащи пару гигов того же гцц правильной версии с правильными тузлами.
     
  • 4.45, kai3341 (ok), 12:26, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > не нравится несовместимость версий, 2 - 3

    Язык меняется. В мажорном апдейте таки сломали API. Какой ужас!

    > тянуть какойто шлак в обход системного пакетного менеджера, который запросто ломает системные скрипты

    Переведу с вашего языка на русский. "Я не осилил virtualenv". Что-то мне подсказывает, что вы не занимаетесь разработкой. Иначе для вас было бы естественно, что разные проекты имеют разные зависимости

     
     
  • 5.55, пох (?), 14:51, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    что-то мне подсказывает, что он занимается эксплуатацией Вот этого вот, от осил... текст свёрнут, показать
     
     
  • 6.61, kai3341 (ok), 21:17, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ещё один админ локалхоста. Слова выглядят разумными, но на самом деле являются изложением маня-мирка: пруфов нет, одни размышления размышления обо всём и ни о чём.

    Я открою страшную тайну. Все зависимости можно тащить в самом проекте. Тогда внезапно оказывается, что совершенно без разницы, что установлено в системе. И ничего не мешает всё это добро завернуть в deb/rpm/tgz/wtf

     
     
  • 7.73, Аноним (-), 13:51, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    что система превратилась в вендообразную помойку, где есть 100500 левых либ, ... текст свёрнут, показать
     
  • 6.66, Аноним (-), 10:08, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >но для этого разработчиков следует пинчищем под жопу спускать с высот на землю, и заставлять использовать устоявшиеся версии и принятые технологии, даже если "им так неудобно", а виртуаенвы с распоследними версиями всего у себя в хомяке - оставить для своих хобби-проектов.

    Какой ты дерзкий, парниша. Будь проще - ужинай меня хорошо, и я буду танцевать, как тебе надо. А если я забесплатно, в свое личное время что делаю, то на такие претензии обычно сразу бью хeром по лбу наглеца, ибо нефиг.

     
     
  • 7.75, Аноним (-), 14:13, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Какой ты дерзкий, парниша. Будь проще - ужинай меня хорошо, и я
    > буду танцевать, как тебе надо. А если я забесплатно, в свое
    > личное время что делаю, то на такие претензии обычно сразу бью
    > хeром по лбу наглеца, ибо нефиг.

    Правильно ли я понимаю, что если водитель ассенизаторской цистерны прикатит тебе под дверь и по своей частной инициативе в свободное от работы время сдампит тебе содержимое около двери, ты ему скажешь спасибо? А если вдруг не скажешь - водителю следует еще и дать тебе хером по лбу. Я все правильно понял? Ну так вот, для меня ваш софт - как содержимое этой цистерны примерно.

     
  • 7.103, пох (?), 00:41, 07/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    знаешь, пробовали хорошо Фигня полная получалась В смысле, чем высокооплачив... текст свёрнут, показать
     
  • 5.63, a (??), 23:46, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Язык меняется. В мажорном апдейте таки сломали API. Какой ужас!

    Беспонятия где что сломали, не пользуюсь этой шляпой, старательно избегая.

    > Переведу с вашего языка на русский. "Я не осилил virtualenv". Что-то мне
    > подсказывает, что вы не занимаетесь разработкой. Иначе для вас было бы
    > естественно, что разные проекты имеют разные зависимости

    Что if-while разные, или если все так сильно завязанно на либы, нельзя как в сях сделать, парой дефайнов переопределить источник либ, нет надо через какието мутные недоделанные конструкции клепать уже какую там мажорную версию, да в пень заморачиваться, есть из чего выбрать, лесом

     
  • 4.76, Аноним (-), 14:22, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > не нравится несовместимость версий, 2 - 3, задолбали, ладно бы это,

    Если б только 2 и 3. А то скрипт писаный под 2.4 на 2.7 валится с жутким стэктрейсом. Равно как скрипт писаный под питон 3.2 валится под питоном 3.5. Только говорите в мажорных версиях ломают? Наглое вранье, половина софта спокойно ломается между минорными версиями только в путь. И период полураспада типовой питонофигни не превышает пару лет. Через пару лет она скорее всего просто не запустится и надо будет переписать не менее трети кода, мля.

     
  • 3.11, A.Stahl (ok), 00:36, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Возможно. Только вспомните точное название. А то странная ситуация получается -- никто не знает, о чём речь, включая автора

    https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B8

    Да, вроде, правильно вспомнил.

     
     
  • 4.46, kai3341 (ok), 12:31, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да, занимательная обфускация. Как жаль, что её наконец-то выкинули.
     
  • 3.24, Аноним (-), 06:31, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Триграфы (или как их там) только совсем недавно выкинули. Ну шикарный же язык.
    > Возможно. Только вспомните точное название. А то странная ситуация получается -- никто
    > не знает, о чём речь, включая автора

    https://en.wikipedia.org/wiki/Digraphs_and_trigraphs#C

     
  • 2.15, all_glory_to_the_hypnotoad (ok), 01:54, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > И не потому что ограничения платформы или легаси, а просто ничего особо для меня интересного.

    т.е. просто потому что не умеешь кодить.

     
  • 2.16, Андрей (??), 02:13, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > До сих пор использую 98й стандарт с крошечными вкраплениями 11.

    Ну и правильно! А то современные плюсы стали совсем нечитаемы. Такое впечатление, что они с растом в этом плане соревнуются.

     
     
  • 3.19, Аноним (18), 02:44, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ага, умные указатели, фор рейнджи, файл систем и параллельные алгоритмы ему менее читаемы чем обычные указатели, форы и свои костыли.
    Не позорьтесь.
     
     
  • 4.28, Аноним (-), 07:54, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да, не позорьтесь, включите уже детектор иронии.
     
     
  • 5.33, Аноним (33), 09:31, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сломался после сравнения с растом.
     
  • 4.35, Андрей (??), 09:55, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Речь, конечно, не о синтаксическом сахаре. Аноним ниже понял меня лучше (шаблон на шаблоне и шаблоном погоняет).
     
     
  • 5.51, Crazy Alex (ok), 12:57, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Так в современных плюсах и без шаблонов можно часто обойтись там, где было нельзя (auto взять хотя бы), и сами шаблоны стали читабельнее. Тот же constexpr и тому и тому помогает.
     
  • 3.31, Аноним (-), 08:43, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> До сих пор использую 98й стандарт с крошечными вкраплениями 11.
    > Ну и правильно! А то современные плюсы стали совсем нечитаемы. Такое впечатление,
    > что они с растом в этом плане соревнуются.

    нечитаемы они из-за шаблонов, но печаль в том, что именно шаблоны дают макс скорость скомпилированного когда

     
     
  • 4.38, Андрей (??), 10:09, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Но такой синтаксис, и чтобы там ни у кого идей получше не нашлось!

    Ещё вопрос, насколько большую. Всегда ли это нужно. Например, для JSON-парсера - очевидно, а в других случаях делают ли бенчи?

     
  • 2.48, Аноним (-), 12:32, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > До сих пор использую 98й стандарт с крошечными вкраплениями 11. И не потому что ограничения платформы или легаси, а просто ничего особо для меня интересного.

    Вот это к чему вообще было написано? Типа всем интересно, что ты там не используешь? Ну спасибо, поделился опытом неиспользования.

    https://memegenerator.net/img/instances/37545664/this-is-room-full-of-people-w

     

  • 1.34, z (??), 09:49, 03/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    А где коменты про  llvm ?
     
     
  • 2.39, Аноним (-), 10:24, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ну вот один, например: не понимаешь разницу между llvm и clang?
     
  • 2.47, Аноним (-), 12:31, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >А где коменты про  llvm ?

    llvm -- оцтой.

     
     
  • 3.71, iZEN (ok), 12:09, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>А где коменты про  llvm ?
    > llvm -- оцтой.

    Да бог с вами! Без LLVM 6.0.0 не работает Mesa3D 18.0.2 в Unix-подобных системах. И невозможен Rust 1.25, без которого не запустится Firefox 59.0.3 и будущий релиз Firefox 60.0. И Google Chromе требует Clang-RT. Так что не надо тут возмущаться - ешьте, что для вас организовала в своё время Intel и AMD в X.Org, выкинув оттуда разработчиков из NVIDIA, *BSD, MacOS X и Solaris дружным числом голосов Linux-сообщества. Так как "врагам" Open Source, видите ли, было не по нраву поддерживать интеловский линуксовый DRI/KMS в ядрах своих систем с возможностью софтового рендеринга шейдеров средствами CPU. Теперь вот жрите два или несколько LLVM в системе только для того, что это кому-то нужно по каким-то причинам использовать в своих продуктах.


     
     
  • 4.74, Andrey Mitrofanov (?), 13:57, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>>А где коменты про  llvm ?
    >> llvm -- оцтой.
    > Да бог с вами! Без LLVM 6.0.0 не работает Mesa3D 18.0.2 в

    Держим кулаки https://european-lisp-symposium.org/static/2018/hafner.pdf за Lisp[I]!

    > Unix-подобных системах. И невозможен Rust 1.25, без которого не запустится Firefox
    > 59.0.3 и будущий релиз Firefox 60.0. И Google Chromе требует Clang-RT.

     
     
  • 5.99, Аноним (-), 12:53, 06/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Андрюша, а GLSL не опирается снизу, опять же, на этот яблочный LLVM?
     
  • 4.77, Аноним (-), 16:30, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Да бог с вами! Без LLVM 6.0.0 не работает Mesa3D 18.0.2

    Как ты там, уже разобрался с зоопарком шлангов в системе, они уже таки реабилитированы? А то ты так прикольно плевался на кучу версий.

     
     
  • 5.81, iZEN (ok), 23:24, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зоопарк - у вас. У меня два LLVM 6.0.0.
     
     
  • 6.85, Аноним (-), 08:29, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Зоопарк - у вас. У меня два LLVM 6.0.0.

    А нафига их два?! :)

     
     
  • 7.94, iZEN (ok), 13:41, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> Зоопарк - у вас. У меня два LLVM 6.0.0.
    > А нафига их два?! :)

    % pkg info -r llvm60
    llvm60-6.0.0_3:
    mesa-dri-18.0.2

    % cc --version
    FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0)
    Target: x86_64-unknown-freebsd11.2
    Thread model: posix
    InstalledDir: /usr/bin

     
  • 4.79, Mihail Zenkov (ok), 16:55, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Без LLVM 6.0.0 не работает Mesa3D 18.0.2 в Unix-подобных системах.

    AFAIK в mesa llvm используется для компиляции шейдеров (изначально только на amd/ati r600 и старше). Для остального вроде llvm не нужен. Но возможно я отстал от новых веяний )

     
     
  • 5.86, Аноним (-), 08:35, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так это 1 То что древнее R600 - адская архаика по современным меркам И ... текст свёрнут, показать
     
  • 2.58, Аноним (-), 16:39, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А что про него писать, у него лицензия правильная.
     
     
  • 3.100, Аноним (-), 13:04, 06/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    LLVM - не пойми какая, зоопарк лицензий. Была как-то новость, что хотят поменять лицезию(ии). Поменяли бы уж на Boost L, плюсплюсникам как-то роднее, чем нынешний зоопарк.
     

  • 1.44, Аноним (-), 10:40, 03/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    "New Languages and Language specific improvements"
    А где же обещанный D?
     
     
  • 2.50, Аноним (-), 12:38, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > "New Languages and Language specific improvements"
    > А где же обещанный D?

    "D language" имеет "BSD образную" лицензию. Ну типа, пока свободная пермиссивка. Когда создатели D запилят несвободные части. Парни из GCC отреагируют и запилят правильный D. А так, нечего пилить велосипед.


     
  • 2.52, Crazy Alex (ok), 13:02, 03/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не успели: https://forum.dlang.org/thread/znlhczrfdqlhkbcbxmjr@forum.dlang.org
     

  • 1.67, Аноним (-), 10:56, 04/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Чем несуществующее в русском языке слово "релиз" лучше русских "выход", "выпуск"? Или зачем вообще надо переводить новости на рунглиш? Ведь проще и даже лучше давать их на хорошем английском, чем на ломанном русском. Или в IT сейчас сплошные "неосиляторы"? ;-)
     
     
  • 2.69, iZEN (ok), 11:56, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем несуществующее в русском языке слово "релиз" лучше русских "выход", "выпуск"?

    "релиз" и "выпуск" - синонимы. Со своей стороны, считаю, что эти существительные лучше употреблять с одинаковой частотой в технических текстах, чтобы не нарываться на тавтологию - когда приходится употреблять одно и то же слово по многу раз, и оно режет внутренний слух.

     
  • 2.70, Аноним (-), 12:00, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Чем несуществующее в русском языке слово "релиз" лучше русских "выход", "выпуск"? Или зачем вообще надо переводить новости на рунглиш? Ведь проще и даже лучше давать их на хорошем английском, чем на ломанном русском. Или в IT сейчас сплошные "неосиляторы"? ;-)

    В русском IT есть поклонники Запада. И как поклонники они хотят тупо заимствовать, всё то, что они любят.

     
     
  • 3.80, Аноним84701 (ok), 18:27, 04/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В русском IT есть поклонники Запада. И как поклонники они хотят тупо заимствовать, всё то, что они любят.

    А давайте сделаем как во Франции - выпустим соответствующий мараз^W закон, что вся айтишная терминология должна быть на гос. языке!?
    Пусть во всем мире говорят "computer", а мы будем говорить "упорядочиватель" (с потолка взятый аналог французскому "ordinateur"), вместо смартфона - "интеллигентный телефон" или "телефон-упорядочиватель", вместо кэша только "промежуточный буфер с быстрым доступом", "собиратель" вместо компилятора ну и т.д.

    И "поклонники Запада" довольны – сделали "как там". И ретивые хранители исконно-посконных ценностей тоже не в обиде. Все довольны, всем хорошо (кроме собств. айтишни^W Информационно-Технологистов, но кому они интересны) :)

     
     
  • 4.83, Аноним (-), 07:48, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ты специально приводишь в качестве примеров крайности Когда поклонников Запада... текст свёрнут, показать
     
     
  • 5.88, Аноним (-), 10:12, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тут есть такие соображения 1 Каталог - не очень то выглядит русским словом Ск... текст свёрнут, показать
     
     
  • 6.91, Аноним (-), 11:32, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Знаешь я тоже умею соображать Для обозначения файлового inod -а термин каталог... текст свёрнут, показать
     
     
  • 7.93, Аноним (-), 12:33, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты успешно доказал обратное Тест на разумное существо провален Inode, внезапно... текст свёрнут, показать
     
  • 5.97, Аноним84701 (ok), 00:13, 06/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Приведённый пример с Францией некорректен. Ситуация в Европе такая, что сами американцы
    > и англичане тупо заимствуют французкие слова. Для англичан Франция это такая же "цивиллизованная Европа" как для русских "Запад". В такой ситуации французы  не только "имеют право", но они просто обязаны быть примером для подражания. Быть примером подражания для всего Мира.

    Вообще-то сами французы "плакались" на этот счет - потому что даже в специфической документации (т.е. от айтишников для айтишников) приходится "переводить". И держать в голове двойную терминологию при общении с коллегами довольно муторно, да и перевод обычно не так точен и краток, как устоявшееся обозначение.

    Это при том, что те же немцы совсем не стесняются заимствовать терминологию из (американского) английского (просто приделывая "вписывющийся" артикль - das Release, die CPU, der Cache - все это можно найти в официальном словаре, с пометкой "EDV" (электронная обработка данных)). Даже "стек"  не постеснялись позаимствовать, хотя как раз "исконно-посконное" обозначение ЕМНИП пришло из немецкого "Келлершпайхер" (дословно - подвальное хранилище), но увы, почему-то в остальном мире не прижилось.

    > Для англичан Франция это такая же "цивиллизованная Европа"

    Для англичан Франция в первую очередь "страна лягушатников". Француз - классический герой анекдотов, подколок и прочего. В общем, не любят там французов (исторически), как и наоборот, а уж чтобы британец признал Францию за "цивилизованную Европу" ... ему столько не выпить ;)

    >What do French recruits learn in basic training?
    > How to surrender in 17 different languages.

    .
    > Why wouldn't the Statue of Liberty work in France?  
    > Because she has only one arm raised.

    .
    > What do you call 100,000 Frenchmen with their hands up?
    > The Army.

     
  • 4.90, Аноним (-), 10:56, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Пусть во всем мире говорят "computer", а мы будем говорить "упорядочиватель" (с потолка взятый аналог французскому "ordinateur"), вместо смартфона - "интеллигентный телефон" или "телефон-упорядочиватель", вместо кэша только "промежуточный буфер с быстрым доступом", "собиратель" вместо компилятора ну и т.д.

    Не пойдёт. "Телефон" и "буфер" тоже надо перевести.

     
  • 4.98, Аноним (-), 12:30, 06/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Пусть во всем мире говорят "computer", а мы будем говорить "упорядочиватель" (с потолка взятый аналог французскому "ordinateur"),

    Ну зачем упорядочиватель? В русском языке есть давно устоявшийся термин и соответствующая абревиатура: Электронная Вычислительная Машина, ЭВМ.

    >вместо смартфона - "интеллигентный телефон" или "телефон-упорядочиватель",

    Наверное, лучше, "интеллектуальный телефон".

    >вместо кэша только "промежуточный буфер с быстрым доступом",

    "Промежуточный буфер" не отражает сути. Лучше, "ассоциативный буфер".

    "собиратель" вместо компилятора ну и т.д.
    Пока не придумал :) Но можно обратиться ко временам БЭСМ, ЕС, оно же там как-то уже называлось тогда.

     
  • 3.82, Аноним (-), 07:45, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В русском IT есть поклонники Запада. И как поклонники они хотят тупо
    > заимствовать, всё то, что они любят.

    Ну ты то как истинный славянофил хотя-бы эльбрус себе купил? А то вот так попробуешь купить компьютер с эльбрусом - глядишь и узнаешь почему у запада столько поклонников развелось.

     
     
  • 4.84, Аноним (-), 08:19, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ну ты то как истинный славянофил хотя-бы эльбрус себе купил? А то
    > вот так попробуешь купить компьютер с эльбрусом - глядишь и узнаешь
    > почему у запада столько поклонников развелось.

    Ты хитрый да? Котёл в котором обсуждаются чисто языковые вопросы технично так кинул "эльбрусы". А поклонники разводятся от любви к чему-то, а не от ненависти к "эльбрусам".

     
     
  • 5.87, Аноним (-), 09:40, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее, прагматичный и не склонный создавать себе левые проблемы на ровном месте... текст свёрнут, показать
     
     
  • 6.89, Аноним (-), 10:16, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну вот опять же, ты хитро сводишь чисто языковые проблемы с проблемами российско... текст свёрнут, показать
     
     
  • 7.92, Аноним (-), 11:36, 05/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Здесь вообше не портал по русскому языку Ну и коли у промышленности проблемы и ... текст свёрнут, показать
     

  • 1.78, Аноним (-), 16:40, 04/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > который генерирует более оптимальный код на основе

    самый наилучший

     
  • 1.101, Аноним (-), 14:47, 06/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Интересно, вот чесноп слово а Байкал или Эльбрус, ну хот как то пробовали gcc-ой окучивать? Армы уже окучили.
     
  • 1.108, Ne01eX (ok), 05:21, 11/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>В системе оптимизации на этапе связывания (LTO) представлен новый способ подстановки отладочной информации в формате DWARF, что упрощает отладку оптимизированного кода;

    Так вот то, что всё ломает... Эх, опять бутстрапится... :-(

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

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