Здравствуйте, IID, Вы писали:
S>>Какое отношение это все имеет к возможности работы с C++17 в gcc под Windows?
IID>На костылях тоже можно передвигаться, не спорю.
Не включая мозги можно и на форуме писать, очевидно. Тема же не о том, как под Windows получить возможность разрабатывать как под Unix, а о том, как под Windows получить gcc с нормальной поддержкой стандарта C++17. Нужно это может быть, внезапно, для разработки под Windows, но в рамках нормального C++ (а не того, что MS в своем компиляторе сделала).
Итак, почему MinGW-w64 для этой задачи является костылем?
Здравствуйте, 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 на этой картинке может обозначать все, что угодно
Какая-то запредельная философия. А может и не означать.
Здравствуйте, so5team, Вы писали:
S>Чтобы не платить за Visual Studio, если для проекта не нужно ничего MS-specific.
Вот это поворот!
Редация Community бесплатна, и ничем не отличается от Professional.
А до этого много лет существовала Express редакция, несколько урезанная, и тоже бесплатная.
Это если забыть что МСу пофиг на пиратство студии, и им пользуются сплошь и рядом.
Какое-то красноглазое фанбойство, ей-богу.
S>Чтобы не трахаться с "С++" от MS, скажем.
Не останавливайся. Логично следующим шагом не трахаться с виндой вообще.
S>Яркий пример -- попытки использования библиотеки Ranges под Windows. S>Это если вам нужны эти самые последние SDK от вендора.
Странная разработка. Какая-то левая либа и сырые фичи стандарта нужны, а вендорские сдк не нужны.
S>Ваше мнение очень важно, продолжайте держать в курсе.
"Я бежала за вами два дня ?" Не важно — не отвечай.
Здравствуйте, 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) установил этот продукт на рабочем компе и на ноутбуке — как считать?
Здравствуйте, AlexGin, Вы писали:
AG>Пока я и мои товарищи по работе занимаемся иисследованиями (academic research).
Замечательно. Еще лучше было бы, если бы вы свою частную ситуацию не проецировали на весь остальной мир. А то ведь за пределами вашего уютного мирка, в котором 50-летний разработчик с многолетним стажем не знает как найти свежие версии gcc/clang для своей системы, случается всякое. И жесткий контроль за софтом на рабочих станциях, и, о ужас, требования согласовывать использование сторонних инструментов с юридическим отделом.
Здравствуйте, so5team, Вы писали:
S>Она бесплатна для индивидуальных пользователей, обучения, академических исследований и открытых проектов. Но если вас устраивает использование пиратских версий, то это не проблема, конечно же.
Для мелкого бизнеса она тоже бесплатна, до 5 рабочих мест. Но новости из 2008 года интересны, продолжай держать в курсе.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ops, Вы писали:
Ops>Для мелкого бизнеса она тоже бесплатна, до 5 рабочих мест. Но новости из 2008 года интересны, продолжай держать в курсе.
Хотите сказать, что с 2009-го года разработкой на C++ занимается только мелкий бизнес?
Или что после 2008 никто не покупает VS Professional потому, что сперва была VS Express, потом исчезла и появилась Community?