Под Windows 10 можно поднять нативную Ubuntu консоль (версии аж 18.04). Под неё app-get ставит сразу gcc-7.3.0.
Самый быстрый способ получить C++17 под виндой.
Установив пакет xorg-dev вы можете писать и запускать X-Windows приложения под WSL.
Нужно только запустить XServer под Windows (например, VcXSrv) и добавить в bash.rc строчку
Здравствуйте, Шахтер, Вы писали:
Ш>Под Windows 10 можно поднять нативную Ubuntu консоль (версии аж 18.04). Под неё app-get ставит сразу gcc-7.3.0. Ш>Самый быстрый способ получить C++17 под виндой.
А еще есть сборки от MinGW-w64 (тынц) и NuWen MinGW, который сразу с Boost-ом в придачу (тынц). И работать будет прямо в Window-ом Command Propmt-е.
Здравствуйте, Шахтер, Вы писали:
Ш>Под Windows 10 можно поднять нативную Ubuntu консоль (версии аж 18.04). Под неё app-get ставит сразу gcc-7.3.0. Ш>Самый быстрый способ получить C++17 под виндой.
Уточнение — поднять Ubuntu в виртуалке? Я верно понимаю?
Что-то для этого нужно, кроме имеющегося уже у меня *.iso образа:
ubuntu-18.04-desktop-amd64.iso ?
Какая-то дополнительная утилита для Windows 10 — чтобы смонтировать эту Ubuntu 18.04?
P.S. Насчёт самого быстрого способа — получить C++17 под виндой: MSVC-2017 CE — в настройках C/C++ -> CommandLine -> AdditionalOptions запишем: /std:c++17
P.P.S. Мне интересно именно опробовать C++17 под Linux
Здравствуйте, IID, Вы писали:
S>>Какое отношение это все имеет к возможности работы с C++17 в gcc под Windows?
IID>На костылях тоже можно передвигаться, не спорю.
Не включая мозги можно и на форуме писать, очевидно. Тема же не о том, как под Windows получить возможность разрабатывать как под Unix, а о том, как под Windows получить gcc с нормальной поддержкой стандарта C++17. Нужно это может быть, внезапно, для разработки под Windows, но в рамках нормального C++ (а не того, что MS в своем компиляторе сделала).
Итак, почему MinGW-w64 для этой задачи является костылем?
Здравствуйте, Pzz, Вы писали:
Pzz>Но я так понимаю, программы, скомпилированные этим gcc, только в линухе и можно запускать, пусть и встроенном в венду.
Нет. Есть понятие host platform, а есть target platform. Всякие прошивки для модемов не на модемах же собирают.
И Windows может быть target platform. Вот хорошая инструкция.
Здравствуйте, so5team, Вы писали:
S>Чтобы не платить за Visual Studio, если для проекта не нужно ничего MS-specific.
Вот это поворот!
Редация Community бесплатна, и ничем не отличается от Professional.
А до этого много лет существовала Express редакция, несколько урезанная, и тоже бесплатная.
Это если забыть что МСу пофиг на пиратство студии, и им пользуются сплошь и рядом.
Какое-то красноглазое фанбойство, ей-богу.
S>Чтобы не трахаться с "С++" от MS, скажем.
Не останавливайся. Логично следующим шагом не трахаться с виндой вообще.
S>Яркий пример -- попытки использования библиотеки Ranges под Windows. S>Это если вам нужны эти самые последние SDK от вендора.
Странная разработка. Какая-то левая либа и сырые фичи стандарта нужны, а вендорские сдк не нужны.
S>Ваше мнение очень важно, продолжайте держать в курсе.
"Я бежала за вами два дня ?" Не важно — не отвечай.
Здравствуйте, so5team, Вы писали:
S>Она бесплатна для индивидуальных пользователей, обучения, академических исследований и открытых проектов. Но если вас устраивает использование пиратских версий, то это не проблема, конечно же.
Для мелкого бизнеса она тоже бесплатна, до 5 рабочих мест. Но новости из 2008 года интересны, продолжай держать в курсе.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Ш>>Под Windows 10 можно поднять нативную Ubuntu консоль (версии аж 18.04). Под неё app-get ставит сразу gcc-7.3.0. Ш>>Самый быстрый способ получить C++17 под виндой. AG>Уточнение — поднять Ubuntu в виртуалке? Я верно понимаю?
Нет.
Это реализация системных вызовов линукса в ядре Win10.
Подсистема Ubuntu появилась и в Windows Server 2016...
AG>Что-то для этого нужно, кроме имеющегося уже у меня *.iso образа: AG>ubuntu-18.04-desktop-amd64.iso ?
ubuntu-18.04-desktop-amd64.iso — не пойдет — он тащит линуксовое ядро, ФС и пр.
В десятке нужные пакеты устанавливаются при помощи заклинания
sudo app-get install
Правда GUI проги поставить не просто (не пробовал, но читал).
AG>P.P.S. Мне интересно именно опробовать C++17 под Linux
Новый gcc неверняка есть и в Win версии (cygwin и/или mingw).
Здравствуйте, IID, Вы писали:
Pzz>>Но я так понимаю, программы, скомпилированные этим gcc, только в линухе и можно запускать, пусть и встроенном в венду.
IID>Ты путаешь с костыльным MinGW. В WSL весь буханочный юзермод работает AS IS, неотличимо от родной буханочной среды.
Ничего я не путаю. А вот ты путаешь MinGW с Cygwin
Здравствуйте, Pzz, Вы писали:
Pzz>>>программы, скомпилированные этим gcc, только в линухе и можно запускать, пусть и встроенном в венду.
IID>>Ты путаешь с костыльным
Pzz>Ничего я не путаю.
Тогда поясни, почему выделенное.
Pzz>НА вот ты путаешь MinGW с Cygwin
Здравствуйте, AlexGin, Вы писали:
AG>Пока я и мои товарищи по работе занимаемся иисследованиями (academic research).
Замечательно. Еще лучше было бы, если бы вы свою частную ситуацию не проецировали на весь остальной мир. А то ведь за пределами вашего уютного мирка, в котором 50-летний разработчик с многолетним стажем не знает как найти свежие версии gcc/clang для своей системы, случается всякое. И жесткий контроль за софтом на рабочих станциях, и, о ужас, требования согласовывать использование сторонних инструментов с юридическим отделом.
Здравствуйте, IID, Вы писали:
S>>Итак, почему MinGW-w64 для этой задачи является костылем? IID>Именно для разработки, и под Windows ? Неслабо ты тему меняешь. Для разработки под Windows он вообще не годится.
А какой вменяемый компилятор C++ под винду ты можешь предложить, кроме gcc?
).
— clang конечно хорош своими сообщениями об ошибках и поддержкой стандарта, но по оптимизации уступает всем остальным.
— компилятор от Intel? Там с быстродействием как раз всё хорошо, но стандарт поддерживается не так оперативно и плюс в отличие от всех остальных он стоит приличных денег.
IID>А никто 100% линукса и не обещал IID>Заходишь на WSL страницу гитхаба. Оттуда есть ссылки на списки софта, который работает плохо.
Название 'Windows Subsystem for Linux' наверно придумал тот самый человек что и WoW64.
Как много веселых ребят, и все делают велосипед...
Здравствуйте, AlexGin, Вы писали:
Ш>>Под Windows 10 можно поднять нативную Ubuntu консоль (версии аж 18.04). Под неё app-get ставит сразу gcc-7.3.0. Ш>>Самый быстрый способ получить C++17 под виндой.
AG>Уточнение — поднять Ubuntu в виртуалке? Я верно понимаю?
У 10-й венды теперь убунта входит прям в состав виндовс, и хорошо с ним интегрированна.
Подробностей не знаю, а не пользователь венды от слова совсем, у меня линух прям на голом железе работает
Здравствуйте, Шахтер, Вы писали:
Ш>Под Windows 10 можно поднять нативную Ubuntu консоль (версии аж 18.04). Под неё app-get ставит сразу gcc-7.3.0. Ш>Самый быстрый способ получить C++17 под виндой.
Но я так понимаю, программы, скомпилированные этим gcc, только в линухе и можно запускать, пусть и встроенном в венду.
P.S. Про убунту не знаю, а в федоре вполне работоспособный кросс-mingw является частью дистрибутива, и позволяет компилировать программы под венду прямо из линуха. И к нему куча всяких полезных предсобранных библиотек прилагается. У меня сейчас не самая свежая федора (все руки не доходят проапгрейдиться), но gcc в этом кросс-mingw имеет версию 7.2.0. Наверное, в самой свежей федоре и gcc поновее. Полагаю, что для убунты тоже есть подобные удобства.
Здравствуйте, AlexGin, Вы писали:
Ш>>Под Windows 10 можно поднять нативную Ubuntu консоль (версии аж 18.04). Под неё app-get ставит сразу gcc-7.3.0. Ш>>Самый быстрый способ получить C++17 под виндой.
AG>Уточнение — поднять Ubuntu в виртуалке? Я верно понимаю?
1) Turn on Developer Mode
Open Settings -> Update and Security -> For developers
Select the Developer Mode radio button
2) Open a command prompt. Run bash
Здравствуйте, Блудов Павел, Вы писали:
Pzz>>Но я так понимаю, программы, скомпилированные этим gcc, только в линухе и можно запускать, пусть и встроенном в венду.
БП>Нет. Есть понятие host platform, а есть target platform. Всякие прошивки для модемов не на модемах же собирают. БП>И Windows может быть target platform. Вот хорошая инструкция.
Это я понимаю. Но на федоре, например, кросс-gcc — это отдельный набор пакетов. И версия gcc там в среднем не совпадает с gcc для хоста. Как в этом плане налажена жизнь в убунте, я не в курсе, но обычно довольно похоже.
Здравствуйте, Pzz, Вы писали:
Pzz>Но я так понимаю, программы, скомпилированные этим gcc, только в линухе и можно запускать, пусть и встроенном в венду.
Ты путаешь с костыльным MinGW. В WSL весь буханочный юзермод работает AS IS, неотличимо от родной буханочной среды.
Здравствуйте, Дрободан Фрилич, Вы писали:
ДФ>Подсистема Ubuntu появилась и в Windows Server 2016...
Релизный Windows 2016 (1607) это LTSC, в нём WSL нет и неизвестно когда появится. Переношу руками из 10ки.
Обещали добавить в экспериментально version 1709 (Semi-Annual Channel). Но он вроде бы только в Server Core редакции, без Desktop Experience.
Версии 1607 — 1709 друг на друга не обновляются, только чистая установка.
Так что в сервере WSL'я можно сказать что нету.
ДФ>Правда GUI проги поставить не просто (не пробовал, но читал).
Ничего сложного. X-Server поднимаешь на винде нативно, и прописываешь его адрес. Аналогично аудио.
Это чистый юзермод. На уровне юзермода нормально не реализовать юниксовые особенности. Типа форка (хотя он доступен на уровне Native API), работы с анлинкнутыми файлами, удаление запущенного образа, человеческое хранение доп. юниксовых атрибутов и запрещённых на NTFS символов. В WSL серъёзная поддержка на уровне ядра ОС, даже специальный тип процессов сделали — PicoProcess.
Здравствуйте, IID, Вы писали:
IID>На уровне юзермода нормально не реализовать юниксовые особенности. Типа форка (хотя он доступен на уровне Native API), работы с анлинкнутыми файлами, удаление запущенного образа, человеческое хранение доп. юниксовых атрибутов и запрещённых на NTFS символов. В WSL серъёзная поддержка на уровне ядра ОС, даже специальный тип процессов сделали — PicoProcess.
Какое отношение это все имеет к возможности работы с C++17 в gcc под Windows?
Здравствуйте, IID, Вы писали:
IID>Тогда поясни, почему выделенное.
Венда со встроенной убунтой поддерживает теперь два формата исполняемых файлов: родной вендовый EXE, и родной линуксный ELF. Так вот, я хотел сказать, что gcc, который там внутри убунты, выдает на выходе ELF, а не EXE. И я полагаю, что если ты профессионально пишешь коробочный софтварий под венду, то тебе это не подходит, тебе нужен вендовый EXE, обернутый в вендовый инсталлятор.
Я, кстати, не верю, что в этой конструкции, как кто-то высказался "вендовое ядро исполняет системные запросы линуха". Полагаю, что они запустили настоящее линуксное ядро, или в виртуалке, или в режиме user mode linux, и аккуратно протоптали в user space необходимые дорожки между двумя мирами, чтобы запущенная таким образом линуксная программа смотрелась более-менее, как родная.
Pzz>>НА вот ты путаешь MinGW с Cygwin
IID>оба-два говно.
Нет. MinGW, в первую очередь — это gcc, выдающий вендовые EXE на выходе. В режиме кросс-компилятора (из линуха в венду) он очень даже удобен и неплох.
А что к нему прилагается какой-то минимальный псевдо-юниксный набор шеловских команд, то это не чтобы почувствовать себя в венде, как в линухе, а чтобы юниксовские makefile и сборочные скрипты худо-бедно под вендой запускались.
Pzz>>программы, скомпилированные этим gcc, только в линухе и можно запускать, пусть и встроенном в венду.
Pzz>Венда со встроенной убунтой поддерживает теперь два формата исполняемых файлов: родной вендовый EXE, и родной линуксный ELF. Так вот, я хотел сказать, что gcc, который там внутри убунты, выдает на выходе ELF, а не EXE. И я полагаю, что если ты профессионально пишешь коробочный софтварий под венду, то тебе это не подходит, тебе нужен вендовый EXE, обернутый в вендовый инсталлятор.
А я хотел уточнить что скомпилированные ELF будут работать в любом линуксе, не только встроенном в винду.
Pzz>Я, кстати, не верю, что в этой конструкции, как кто-то высказался "вендовое ядро исполняет системные запросы линуха". Полагаю, что они запустили настоящее линуксное ядро, или в виртуалке, или в режиме user mode linux, и аккуратно протоптали в user space необходимые дорожки между двумя мирами, чтобы запущенная таким образом линуксная программа смотрелась более-менее, как родная.
Нет, никакого ядра линукса в Win, разумеется, нет. Есть разница в семантике системных вызовов, но суть их в любой ОС очень похожа. Объекты синхронизации, работа с памятью, файловый ввод-вывод и т.д. Линуксовые юзермодные сисколлы транслируются внутри WSL в вызовы сервисов NT ядра. Я лично переносил WSL из 10ки в 2016 сервер, где его нет. Весь WSL это 1 драйвер и 1 сервис.
Здравствуйте, so5team, Вы писали:
S>Не включая мозги можно и на форуме писать, очевидно.
Я вижу. Когда через пару сообщений уже не помнишь о чём писал в начале.
S>Тема же не о том, как под Windows получить возможность разрабатывать как под Unix, а о том, как под Windows получить gcc с нормальной поддержкой стандарта C++17.
Что за внезапные откровения ? Перечитай стартовое сообщение.
S>Нужно это может быть, внезапно, для разработки под Windows, но в рамках нормального C++ (а не того, что MS в своем компиляторе сделала).
Разве что "внезапно". Разрабатывать под Windows именно на MinGW чтобы что ? Ради самых распоследних правок стандарта ? Подход больше на поделки студентов смахивает.
S>Итак, почему MinGW-w64 для этой задачи является костылем?
Именно для разработки, и под Windows ? Неслабо ты тему меняешь. Для разработки под Windows он вообще не годится.
По целому ряду причин.
Самая простая — свой собственный набор заголовочных файлов, понабранный из разных помоек (ReactOS, WINE, etc.) вместо последних SDK от вендора (Microsoft).
Он годится как инструмент кросскомпиляции буханочных поделий или ради экспериментов с Hello World C++1488.
Здравствуйте, IID, Вы писали:
S>>Не включая мозги можно и на форуме писать, очевидно.
IID>Я вижу. Когда через пару сообщений уже не помнишь о чём писал в начале.
Пруфы?
S>>Тема же не о том, как под Windows получить возможность разрабатывать как под Unix, а о том, как под Windows получить gcc с нормальной поддержкой стандарта C++17.
IID>Что за внезапные откровения ? Перечитай стартовое сообщение.
Перечитываем:
Под Windows 10 можно поднять нативную Ubuntu консоль (версии аж 18.04). Под неё app-get ставит сразу gcc-7.3.0.
Самый быстрый способ получить C++17 под виндой.
Отдельно обращаем внимание на "получить C++17 под виндой".
S>>Нужно это может быть, внезапно, для разработки под Windows, но в рамках нормального C++ (а не того, что MS в своем компиляторе сделала).
IID>Разве что "внезапно". Разрабатывать под Windows именно на MinGW чтобы что ?
Чтобы не трахаться с "С++" от MS, скажем. Например, при работе с кроссплатформенным кодом, который заточен под самые новые версии C++. Яркий пример -- попытки использования библиотеки Ranges под Windows.
Чтобы не платить за Visual Studio, если для проекта не нужно ничего MS-specific.
Причин может быть много.
S>>Итак, почему MinGW-w64 для этой задачи является костылем?
IID>Именно для разработки, и под Windows ? Неслабо ты тему меняешь.
Вам показалось. Тема таковой была и остается.
IID>Самая простая — свой собственный набор заголовочных файлов, понабранный из разных помоек (ReactOS, WINE, etc.) вместо последних SDK от вендора (Microsoft).
Это если вам нужны эти самые последние SDK от вендора.
IID>Он годится как инструмент кросскомпиляции буханочных поделий или ради экспериментов с Hello World C++1488.
Ваше мнение очень важно, продолжайте держать в курсе.
Здравствуйте, IID, Вы писали:
IID>А я хотел уточнить что скомпилированные ELF будут работать в любом линуксе, не только встроенном в винду.
Ну не в любом, разумеется, а в тех, где ABI использованных библиотек совместимо.
IID>Нет, никакого ядра линукса в Win, разумеется, нет. Есть разница в семантике системных вызовов, но суть их в любой ОС очень похожа. Объекты синхронизации, работа с памятью, файловый ввод-вывод и т.д. Линуксовые юзермодные сисколлы транслируются внутри WSL в вызовы сервисов NT ядра. Я лично переносил WSL из 10ки в 2016 сервер, где его нет. Весь WSL это 1 драйвер и 1 сервис.
Есть очень много тонких нюансов, существенно различающихся между системами. Теоретически, транслятор системных вызовов из линуха в венду сделать, наверное, можно. Практически, сделать его аккуратно ОЧЕНЬ сложно.
Здравствуйте, Pzz, Вы писали:
Pzz>Есть очень много тонких нюансов, существенно различающихся между системами. Теоретически, транслятор системных вызовов из линуха в венду сделать, наверное, можно. Практически, сделать его аккуратно ОЧЕНЬ сложно.
А никто 100% линукса и не обещал
Заходишь на WSL страницу гитхаба. Оттуда есть ссылки на списки софта, который работает плохо.
Тем не менее WSL на порядки совместимее с линуксом чем cygwin помойка. И не требует перекомпиляции к тому же.
Pzz>А вот скажи мне, мил человек, есть ли в 10-й венде SCTP сокеты а) в вендовом API б) в линуксячем API?
Примерно 100500 линуксового софта не юзает их.
Да и зачем такие сложности, можно начать с того, что кучи /dev не будет, а часть из тех что есть реализованы лишь частично. И никто не даст сделать insmod.
Pzz>Windows Subsystem For Linux на этой картинке может обозначать все, что угодно
Какая-то запредельная философия. А может и не означать.
Здравствуйте, IID, Вы писали:
IID>А никто 100% линукса и не обещал IID>Заходишь на WSL страницу гитхаба. Оттуда есть ссылки на списки софта, который работает плохо.
Зашел и почитал. Был впечатлен количеством несовместимых програм, и описанием их проблем. Какой-то это wine наоборот. Был о мелкософте лучшего мнения. Но в плане того, как это устроено, наверное, ты прав.
IID>Тем не менее WSL на порядки совместимее с линуксом чем cygwin помойка. И не требует перекомпиляции к тому же.
Открою тебе секрет. Cygwin даже и не пытается быть совместимым с линухом, он совместим с неким обобщенным посиксом.
IID:
ДФ>>Подсистема Ubuntu появилась и в Windows Server 2016... IID>Релизный Windows 2016 (1607) это LTSC, в нём WSL нет и неизвестно когда появится. Переношу руками из 10ки. IID>Обещали добавить в экспериментально version 1709 (Semi-Annual Channel). Но он вроде бы только в Server Core редакции, без Desktop Experience.
На работе у меня винда-семерка, дома убунту на хосте. С десяткой я возился мало, брезгую.
Win Server мне интересен, предполагаю, что там меньше шпионажа. Неспешно изучаю целесообразность оборудовать рабочее место на Win Server. Недавно узнал, что поддержка WSL есть и для серверной винды, это плюс.
Здравствуйте, IID, Вы писали:
S>>Чтобы не платить за Visual Studio, если для проекта не нужно ничего MS-specific.
IID>Вот это поворот!
То, что вы лично не сталкивались с копирастами, не значит, что их нет.
IID>Редация Community бесплатна, и ничем не отличается от Professional.
Она бесплатна для индивидуальных пользователей, обучения, академических исследований и открытых проектов. Но если вас устраивает использование пиратских версий, то это не проблема, конечно же.
IID>Не останавливайся. Логично следующим шагом не трахаться с виндой вообще.
Логично. И, к счастью, тенденция уменьшения интереса к Windows прослеживается. Но ряду заказчиков нужна Windows. А вот какой компилятор -- нет.
Здравствуйте, IID, Вы писали:
IID>Разве что "внезапно". Разрабатывать под Windows именно на MinGW чтобы что ? Ради самых распоследних правок стандарта ? Подход больше на поделки студентов смахивает.
Ну, например, если предполагается, что твоя программа работает и под линухом, и под виндой, то используя в качестве компилятора для винды кросс-mingw, можно сделать общий билд, который автоматически собирает твое хозяйство под обе платформы.
В противном случае тебе придется раскидывать сборку по двум машинам, а потом собирать вместе результаты. Автоматизация станет существенно сложнее.
Здравствуйте, so5team, Вы писали:
S>Чтобы не платить за Visual Studio, если для проекта не нужно ничего MS-specific.
Так открой же для себя MS Visual Studio — Community Edition: https://www.visualstudio.com/vs/community
Здравствуйте, Pzz, Вы писали:
Pzz>Ну, например, если предполагается, что твоя программа работает и под линухом, и под виндой, то используя в качестве компилятора для винды кросс-mingw, можно сделать общий билд, который автоматически собирает твое хозяйство под обе платформы.
Думаю, что в любом случае потребуются макросы условной компиляции:
И отдельные прогоны сборки под Win и под Linux.
Pzz>В противном случае тебе придется раскидывать сборку по двум машинам, а потом собирать вместе результаты. Автоматизация станет существенно сложнее.
Можно и на одной: dual-boot в помощь
Здравствуйте, so5team, Вы писали:
S>Коллега, а вы сами эту страницу внимательно читали? Например, раздел "Использование программы"?
Читал, и даже очень внимательно:
For organizations
An unlimited number of users within an organization can use Visual Studio Community for the following scenarios: in a classroom learning environment, for academic research, or for contributing to open source projects.
For all other usage scenarios:
In non-enterprise organizations, up to five users can use Visual Studio Community. In enterprise organizations (meaning those with >250 PCs or >$1 Million US Dollars in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above.
Могу прокомментировать:
Пока я и мои товарищи по работе занимаемся иисследованиями (academic research).
В перспективе, дай Бог, — выйдем на миллион долларов в год — приобретём и коммерческую версию!
P.S. Правда из изложенного — непонятно как M$ может отслеживать всё это.
Пример: пишут насчёт пяти пользователей.
Если я (single user) установил этот продукт на рабочем компе и на ноутбуке — как считать?
Здравствуйте, Ops, Вы писали:
Ops>Для мелкого бизнеса она тоже бесплатна, до 5 рабочих мест. Но новости из 2008 года интересны, продолжай держать в курсе.
Хотите сказать, что с 2009-го года разработкой на C++ занимается только мелкий бизнес?
Или что после 2008 никто не покупает VS Professional потому, что сперва была VS Express, потом исчезла и появилась Community?
Здравствуйте, so5team, Вы писали:
S>Замечательно. Еще лучше было бы, если бы вы свою частную ситуацию не проецировали на весь остальной мир. А то ведь за пределами вашего уютного мирка, в котором 50-летний разработчик с многолетним стажем не знает как найти свежие версии gcc/clang для своей системы,
С каких пор Linux стала "моей системой"
Вы не иначе меня с Шериданом перепутали!
Я занимаюсь на линукс эпизодически последние пару лет. И только в нерабочее время, так как по работе мне это не надо.
"Моя" система MS Windows, на ней занимаюсь с 90-х и продолжаю по сей день.
И насчет MSVC-2017 по c++17, c чем я работаю повседневно, у меня тут вопросов не было.
Сам кому хочешь расскажу.
А любопытство, сподвигшее меня на изучение Linux и попытки компиляции примеров на C++ в нём — это желание следовать модному тренду освоения линукса. Ну и желание развивать свой проф-кругозор.
S>...случается всякое. И жесткий контроль за софтом на рабочих станциях, и, о ужас, требования согласовывать использование сторонних инструментов с юридическим отделом.
Всё это имеет место, в определенных организациях.
Отсебя добавлю: нужно бежать сломя голову уходить из таких контор
Здравствуйте, Ops, Вы писали:
S>>Хотите сказать, что с 2009-го года разработкой на C++ занимается только мелкий бизнес?
Ops>Нет, хочу сказать, что халява может быть интересна только мелкому. Крупный просто купит и не будет заморачиваться.
Мелкому, AFAIK, вообще без разницы, они слишком мелкие, чтобы за ними следили. А вот среднего размера конторы, которые еще не начали грести деньги лопатой, не очень охотно идут на покупку лицензий на какие-нибудь Qt, gSOAP, VS и пр. Мол, OpenSource же вокруг, зачем что-то покупать?
Здравствуйте, so5team, Вы писали:
S>Мелкому, AFAIK, вообще без разницы, они слишком мелкие, чтобы за ними следили. А вот среднего размера конторы, которые еще не начали грести деньги лопатой, не очень охотно идут на покупку лицензий на какие-нибудь Qt, gSOAP, VS и пр. Мол, OpenSource же вокруг, зачем что-то покупать?
Вот ты сравнил. Qt стоит в месяц столько же, сколько студия единоразово. Да, ее, возможно, придется через пару лет обновить, хотя многие по 10 лет на одной версии сидят, обновляя только тулсет, бесплатно, но даже 450уё раз в 2-3 года или 450уё каждый месяц — разница колоссальная.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
IID>Это чистый юзермод. На уровне юзермода нормально не реализовать юниксовые особенности. Типа форка (хотя он доступен на уровне Native API), работы с анлинкнутыми файлами, удаление запущенного образа, человеческое хранение доп. юниксовых атрибутов и запрещённых на NTFS символов. В WSL серъёзная поддержка на уровне ядра ОС, даже специальный тип процессов сделали — PicoProcess.
С точки зрения NTFS единственный запрещенный символ в имени это 0
В линуксе он также запрещен
Здравствуйте, Ops, Вы писали:
Ops>Вот ты сравнил. Qt стоит в месяц столько же, сколько студия единоразово. Да, ее, возможно, придется через пару лет обновить, хотя многие по 10 лет на одной версии сидят, обновляя только тулсет, бесплатно, но даже 450уё раз в 2-3 года или 450уё каждый месяц — разница колоссальная.
Здравствуйте, so5team, Вы писали:
S>А то ведь за пределами вашего уютного мирка, в котором 50-летний разработчик с многолетним стажем не знает как найти свежие версии gcc/clang для своей системы, случается всякое.
Я не ошибся в своей первой оценке. Ты колхозное хамло.
MS>>С точки зрения NTFS единственный запрещенный символ в имени это 0
IID>С точки зрения имени потока на файловой системе и формата хранения данных, но не с точки зрения ОС.
IID>См. FsRtlIsAnsiCharacterLegalXXXX которая проверяет флаг доступности ASCII символов во встроенных ФС (Fat/Hpfs/Ntfs).
IID>На NTFS запрещены: IID>0x00-0x1F IID>0x22 (") IID>0x2A (*) IID>0x2F (/) IID>0x3C (<) IID>0x3E (>) IID>0x3F (?) IID>0x5C (\)
IID>Кроме ограничений ФС придётся пробиться сквозь менеджер объектов, у него на обратные слеши свой взгляд.
Есть также ограничения на имена CON/PRN/COM1 и прочее.
Неужели это тоже ограничения файловой системы?
Во всех известных мне реализациях ntfs.sys ограничение на количество кластеров — 32 бита, хотя файловая система поддерживает 64 битную адресацию
Запрет на создание hardlink на каталоги — ограничение реализации.
Все эти примеры говорят только об ограничениях реализации.
Я же говорил об ограничениях ФС.
В других реализациях указанных ограничений нет.
MS>>В линуксе он также запрещен
IID>А что со слешом в линуксе ?
На маке экранируется. На линуксе не знаю.
Здравствуйте, σ, Вы писали:
MS>>С точки зрения NTFS единственный запрещенный символ в имени это 0 MS>>В линуксе он также запрещен
σ>В NTFS вроде UTF-16. Как 0 может быть там запрещённым?
В ondisk структурах прописана длина имени и если внутри этого имени есть 0, то chkdsk удаляет такое имя.
AG>"Моя" система MS Windows, на ней занимаюсь с 90-х и продолжаю по сей день. AG>И насчет MSVC-2017 по c++17, c чем я работаю повседневно, у меня тут вопросов не было. AG>Сам кому хочешь расскажу.
Здравствуйте, σ, Вы писали:
MS>>С точки зрения NTFS единственный запрещенный символ в имени это 0
σ>В NTFS вроде UTF-16. Как 0 может быть там запрещённым?
Здравствуйте, steep8, Вы писали:
_>>- clang конечно хорош своими сообщениями об ошибках и поддержкой стандарта, но по оптимизации уступает всем остальным. S>Вроде пару лет назад он догонял gcc, что то поменялось?