User Tools

Site Tools


msys2_mingw

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
msys2_mingw [2026/06/26 15:26] adminmsys2_mingw [2026/06/26 15:54] (current) – [Компилятор и его запуск] admin
Line 48: Line 48:
  
 Ну вот например поставили мы **MSYS2** (без разницы, 64-битную или 32-битную) и обновились. Давайте попробуем, наконец, скомпилить HelloWorld Ну вот например поставили мы **MSYS2** (без разницы, 64-битную или 32-битную) и обновились. Давайте попробуем, наконец, скомпилить HelloWorld
-под Windows-консоль. А вот хрен вам! Оказывается, теперь есть НЕ ОДИН компилятор, точнее не одна build-система (среда, namespace e.t.c.), а несколько.+под Windows-консоль. А вот хрен вам! Оказывается, теперь есть НЕ ОДИН компилятор, точнее не одна build-система (среда сборки, namespace e.t.c.), а несколько.
 Из них первая - для компиляции программ под __САМУ__ **MSYS2** (вы же помните, что она тащит за собой теперь как Из них первая - для компиляции программ под __САМУ__ **MSYS2** (вы же помните, что она тащит за собой теперь как
 минимум DLL ''msys-2.0.dll'' и работает с UNIX-путями?), а остальные build-системы - для обычных "голых" Windows программ, минимум DLL ''msys-2.0.dll'' и работает с UNIX-путями?), а остальные build-системы - для обычных "голых" Windows программ,
Line 139: Line 139:
 то даже ''-mwindows'' указывать не обязательно, компилятор сам понимает, но на всякий случай укажем. то даже ''-mwindows'' указывать не обязательно, компилятор сам понимает, но на всякий случай укажем.
  
-**ПРИМЕЧАНИЕ1:** Обратите внимание, что наша программа собирается со штатной библиотекой MSVCRT.DLL. Не стоит ждать многого от нее. В MSVCRT.DLL реализован далеко не полный набор функций ''libc''+**ПРИМЕЧАНИЕ1:** Обратите внимание, что наша программа собирается со штатной библиотекой MSVCRT.DLL. Не стоит ждать многого от нее. MSVCRT.DLL остановилась на уровне C89/C90 и в ней реализован далеко не полный набор функций ''libc''
-Кроме явного отсутствия "юниксовых" возможностей типа //fork()//, вида слешей в путях к файлам и т.д. расхождения могут быть совсем неожиданные (и в разных версиях Windows - разные).+Кроме явного отсутствия "юниксовых" возможностей типа //fork()//, //kill()//, //execvp()//, //waitpid()//, направления слешей в путях к файлам и т.д. расхождения могут быть совсем неожиданные (и в разных версиях Windows - разные).
 Например, //printf()// не поддерживает формат ''%zd'' для типа ''size_t'', поддержка UTF-8 довольно странная и другие неожиданные вещи. Компилятор Например, //printf()// не поддерживает формат ''%zd'' для типа ''size_t'', поддержка UTF-8 довольно странная и другие неожиданные вещи. Компилятор
 **Mingw-w64** знает много таких особенностей и по мере возможностей дает предупреждения. [[https://www.msys2.org/wiki/Porting/|Подробности]]. Несколько больше возможностей предоставляет новомодная [[https://learn.microsoft.com/en-us/cpp/porting/upgrade-your-code-to-the-universal-crt?view=msvc-170|UCRT]]. Если же нужны юниксовые фишки и не пугает зависимости от DLL - всегда можно собрать программу под оболочку **MSYS2**. **Mingw-w64** знает много таких особенностей и по мере возможностей дает предупреждения. [[https://www.msys2.org/wiki/Porting/|Подробности]]. Несколько больше возможностей предоставляет новомодная [[https://learn.microsoft.com/en-us/cpp/porting/upgrade-your-code-to-the-universal-crt?view=msvc-170|UCRT]]. Если же нужны юниксовые фишки и не пугает зависимости от DLL - всегда можно собрать программу под оболочку **MSYS2**.
Line 375: Line 375:
 https://wiki.qt.io/MSYS2 https://wiki.qt.io/MSYS2
  
-Или почитайте книгу +Или почитайте книжки 
-Секунов Николай Юрьевич. Программирование на C++ в Linux, БХВ-Петербург, 2004 +  Секунов Николай Юрьевич. Программирование на C++ в Linux, БХВ-Петербург, 2004 
 +  * Е.Р.Алексеев, Г.Г.Злобин, Д.А.Костюк, О.В.Чеснокова, А.С.Чмыхало Программирование на языке С++ в среде Qt Creator 
  
 ==== Интеграция MSYS2 и VSCode ==== ==== Интеграция MSYS2 и VSCode ====
msys2_mingw.1782487572.txt.gz · Last modified: by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki