Ожидание нажатия любой клавиши в программе на C в Windows

В прошлой статье я рассказал как запустить программу написанную на C в ОС Windows, и обратил ваше внимание, что наша первая программа запустится и закроется так быстро что максимум что вы увидите — это мелькнувшее окно консоли. Что же сделать чтобы можно было закрыть программу тогда когда этого хочет пользователь? Читать далее

Запуск программы на С в Windows

Если вы читали предыдущий материал и делали как там описано, вы могли заметить, что хоть программа и работает при запуске из среды выполнения POSIX программ, но не работает если её запустить напрямую из Windows.
Связано это с тем, что gcc компилирует EXE-файл динамически линкованный. Т.е. библиотеки используемые для его работы будут браться из системы. Чтобы такого не происходило gcc запускают с параметром -static для статичной линковки программы и тогда . Однако наша среда эмуляции POSIX — MSys2 и тут подложила свинью, и в терминале запускаемом по умолчанию даже при указании этой опции файл будет неработоспособен в среде Windows, так как будет требовать библиотеку msys-2.dll
Поэтому в этой записи я расскажу как скомпилировать программу чтобы её можно было использовать в Windows напрямую. Читать далее