Установка mingw-w64, pc, programming

Система MinGW [1] часто використовується як середовище для виконання утиліт, які прийшли з платформи Unix - make, gcc, g ++ і т. Д. Вони потрібні в першу чергу для компілювання додатків на платформі Windows за допомогою безкоштовних середовищ розробки (Eclipse, Dev-Cpp , wxDev-C ++ та інші).

Є порти MinGW для 32-бітної і для 64-бітної версій Windows. Установка 64-бітової версії має дещо не дуже зрозумілих опцій настройки, які спеціально розглянуті в цій статті.

[Процес установки MinGW-W64 по кроках]

1. [2] -> Download -> mingw-w64-install.exe, запустіть.

2. На першому екрані з'явиться привітання майстра установки, просто Натисніть Next.

Установка mingw-w64, pc, programming

3. Потім з'являється важливий екран настройки, де потрібно вибрати опції системи.

Установка mingw-w64, pc, programming

Architecture. i686 або x86_64. Виберіть x86_64, якщо у Вас сучасний процесор Athlon або Intel. Якщо у Вас старий Pentium Pro, Pentium II або Pentium III, то виберіть i686.

Threads. posix або win32. Тут вибирається GCC Threading model. Що вибрати - єдиної думки немає. Якщо Вам потрібно перенести складні багатопотокові програми з Linux або FreeBSD, то можливо Вам краще підійде posix. Я зазвичай вибираю win32.

Exception. dwarf, sjlj або seh. Це відноситься до методики обробки помилок. Склад списку залежить від попередніх опцій.

Dwarf-2 EH. Реалізація для Windows сама по собі не розроблена для роботи в умовах виконання 64-бітних додатків Windows. У режимі win32 викликається обробник виключення не може поширюватися на код, не сумісний зі стандартом dw2; це означає, що будь-який виняток, яке відбувається через будь-які "чужі фрейми" non-dw2 призведе до відмови, включаючи системні DLL Windows і DLL, вбудовані в Visual Studio. Розкручування коду Dwarf-2 в gcc включає інспектування збірки x86, і воно не може відбуватися без відповідної налагоджувальної інформації dwarf-2.

SjLj. SetJump LongJump. Цей метод обробки винятків працює в більшості випадків на обох платформах win32 і win64, за винятком збоїв загального захисту (general protection faults). Підтримка структурованої обробки помилок розроблена для gcc з метою подолати недоліки dw2 і sjlj. На платформі win64, інформація відкату розміщується в секції xdata і в .pdata (таблиця опису функції) замість стека. Для win32 ланцюжок обробників зберігається в стеку, і потребує збереження / відновлення за допомогою реально виконується коду.

GCC підтримує два методи обробки виключень (EH):

DWARF-2 (DW2) EH, який вимагає наявності в виконуваному коді налагоджувальної інформації DWARF-2 (або DWARF-3). DW-2 EH може привести до деякого розростання розміру виконуваного коду, тому що в код додається великі таблиці відкату по вмісту стека.

SJLJ. Цей метод базується на setjmp / longjmp (SJLJ). Він дещо повільніше, ніж DW2 EH (впливає навіть на нормальне виконання, коли не спрацьовують виключення), проте він може працювати поверх коду, який не був скомпільований GCC, або в якому немає інформації про історії викликів через стек (call-stack unwinding information) .

Structured Exception Handling (SEH). Windows використовує свій власний механізм обробки виключень, відомий як Structured Exception Handling (SEH). На жаль, GCC поки його не підтримує. Однак обіцяється, що для x64 в з'явиться підтримка SEH починаючи з версії GCC 4.8.

Exception handling models of GCC site: stackoverflow.com
C ++ Exception Handling for IA-64 site: static.usenix.org
EH newbies howto gcc.gnu.org
MinGW 64 bit Exception handling: SJLJ, DWARF, and SEH site: qt-project.org

Я вибрав для своєї установки варіант seh.

4. На цьому етапі потрібно просто вибрати каталог установки. Залиште всі за замовчуванням.

Установка mingw-w64, pc, programming

5. Запускається процес закачування, який займе деякий час.

Установка mingw-w64, pc, programming

Після закінчення завантаження натисніть Next і після закінчення копіювання Finish.

Установка mingw-w64, pc, programming

Якщо Ви хочете, щоб утиліти з каталогу c: \ Program Files \ mingw-w64 \ x86_64-4.9.2-win32-seh-rt_v3-rev1 \ mingw64 \ bin \ запускалися без введення повного шляху, то додайте цей каталог в шляху пошуку ( в змінну оточення% Path%).

1. Mingw-w64 - GCC for Windows 64 32 bits site: mingw-w64.sourceforge.net.
2. MinGW-w64 - for 32 and 64 bit Windows site: sourceforge.net.

Схожі статті