Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/1440: Рейтинг темы: голосов - 1440, средняя оценка - 4.95
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2

Сборки MinGW (GCC-win32/win64) от niXman

30.07.2011, 22:48. Показов 343724. Ответов 459

Студворк — интернет-сервис помощи студентам
с этого момента, буду производить тестовые/пререлизные/релизные сборки mingw.
файлы с пометкой snapshot и prerelease - не стабильные версии. в реальных проектах использовать не рекомендую. использую для тестирования новых фитчей.
файлы с пометкой release - стабильные, прошедшие тесты.
скачать можно тут.
скачать онлайн-инсталятор можно тут.
скачать msys2 можно тут

в скором времени начну формировать пакеты для разработчиков состоящие из компилятора(mingw), IDE(QtCreator/CodeBlock/Dev-C++/wxDev-cpp), и некоторого набора предкомпилированных библиотек(boost, Wx, Qt, OpenSsl, и еще каких-то.. понять бы что в спросе...). пакеты не будут требовать установки/настройки. распаковал - используй.

Не по теме:

старая ссылка тут.

43
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2011, 22:48
Ответы с готовыми решениями:

Сборки MinGW(win32/win64) от niXman C++1x
никто не знает как MinGW(win32/win64) от niXman подключить к codeblocks? и с какими параметрами указывать? я установил threads - win32,...

Mingw-w64 MinGW TDM-GCC
Всем привет. Хочу понять, существует ли принципиальная разница между Mingw-w64, MinGW и TDM-GCC? Какие плюсы/минусы у этих трех...

Visual Code + gcc-win64
собственно вопрос как подружить Visual Code и gcc-win64 ?

459
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
30.12.2013, 01:49
Студворк — интернет-сервис помощи студентам
Поковырял lto. Если всё делать правильно, то скорость выполнения может сильно возрастать (до 30%), но объем кода уменьшается незначительно. При этом скорость линковки падает очень сильно (как бы до скорости компиляции с теми же ключами). Такие дела.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
30.12.2013, 11:03
Цитата Сообщение от nenin Посмотреть сообщение
Если всё делать правильно, то скорость выполнения может сильно возрастать (до 30%)
Такое, как правило, говорит о неправильном проектировании программы

Цитата Сообщение от nenin Посмотреть сообщение
При этом скорость линковки падает очень сильно
В процессе линковки запускается докомпиляция (с учётом межмодульных фич)
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
30.12.2013, 12:53
Цитата Сообщение от nenin Посмотреть сообщение
но объем кода уменьшается незначительно
Что неудивительно на своём коде, который используется в объёме, близком или равном 100%. А вот стандартные библиотеки под ножницами lto - совсем другой коленкор. И дело тут даже не в объёме, хотя это тоже приятно, а в оптимизации стандартных функций и возможности задёшево освободиться от динамически линкуемой RT.
Впрочем, похоже, что lto-совместимая RT нам в ближайшем будущем не грозит, так что можно выдохнуть.
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
30.12.2013, 13:20
Это я все не про lto (прелести которого я постиг ещё на pathscale), а про то, что lto не заменяет удаление неиспользуемых функций на стадии линковки, или делает это вяло.
На счет lto-фикации стандартных библиотек: я я перебилдил FLTK. fluid был 1.4М, стал 1.2М. Это библиотека классов, врядли стоит ждать большего от RT.
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
30.12.2013, 14:12
Думаю, ждать как раз можно. Одно дело - библиотека, в которой должно всё присутствовать, потому что заранее неизвестно, что именно пригодится. Другое дело - конкретное приложение, из которого можно выкинуть всё неиспользуемое, пройдясь по графу достижимости и размахивая во все стороны топором -fwhole-program. Подходящим сравнением здесь было бы внедрение FLTK в приложение в виде исходных кодов с ключами -flto и -fwhole-program против построения со статической библиотекой.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
30.12.2013, 14:16
Цитата Сообщение от Nick Alte Посмотреть сообщение
и размахивая во все стороны топором -fwhole-program
Топор обязателен, возможно, что nenin его не подавал. Без топора компилятор не сможет быть на 100% уверенным, что к функции нет какого-нибудь хитрого доступа типа через dlopen/dlsym или из ассемблерной части программы (которую компилятор не видит)
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
30.12.2013, 14:52
Так fluid и fltk, грубо выражаясь, одним мейком деланы. -fwhole-program на fluid я сейчас накачу.

Добавлено через 30 минут
Разницы от -fwhole-program нету.
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
30.12.2013, 16:13
Не могу прокомментировать, потому что с FLTK дела не имел и структуру сборки не представляю. Даже одним мейком можно сначала собирать статическую библиотеку, которая потом подключается к утилите или утилитам, как это часто делается.
Лично мне доводилось наблюдать разительное похудение небольшого проекта от -fwhole-program.
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
30.12.2013, 16:19
Если всё делается на make с одними ключами- должно работать. Если статические библиотеки даже с согласованными ключами не обрабатываются нормально, то это несерьёзно.
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
30.12.2013, 16:23
Статические библиотеки и не могут обрабатываться. flto предполагает другой, более "недоваренный" формат объектных файлов и выполнение оптимизаций уже на стадии связывания (по каковой причине и рекомендуется в этом режиме делать объектные файлы без оптимизаций, а флаги оптимизации передавать уже на стадии линковки). Обычные объектные файлы и статические библиотеки обрабатываются в обычном режиме.
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
30.12.2013, 16:29
А в библиотеку их всунуть нельзя?

Добавлено через 53 секунды
К слову, если разным файлам нужны разные флаги, как их скормить на линковке?
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
30.12.2013, 16:35
Насколько я понимаю, текущий формат библиотек, зародившийся задолго до появления LTO в нынешнем виде, этого не предусматривает. Сама идея lto и особенно whole-program подразумевает, что всё слепляется в однородный ком, который обрабатывается как единое целое. Если кому-то нужны разные настройки оптимизации для разных файлов, линковать придётся в обычном режиме.
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
30.12.2013, 16:52
Ну, тогда толк с того может быть только на маленьких проектах.
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
30.12.2013, 17:11
В текущем состоянии - да, так оно и есть. Разве что всё же специально заморачиваться со сборкой крупных библиотек из исходников. А когда настанет светлое будущее, в котором будет внедрена поддержка LTO в статических библиотеках, включая стандартные RT, тогда-то и потекут молочные реки в кисельных берегах...
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
30.12.2013, 23:27
Похоже, что должно таки работать: http://gcc.gnu.org/ml/gcc-help... 00129.html
К слову, .a с lto опухают почти в 10 раз.
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
31.12.2013, 10:37
Это интересно. Надо бы поглубже покопаться, а вдруг окончательная победа сил добра над силами разума ближе, чем кажется?
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
31.12.2013, 16:12
Взял я амальгаму SQLite, сделал из неё .а и попробовал: вставил sqlite3_open_v2 и sqlite3_errmsg в хелуворда. Эффект такой:
хелуворд- 33.00 KB
хелуворд с lto -33.00 KB
обычный код - 724.00 KB
lto + lto-библиотека - 558.00 KB
lto с обычной библиотекой 724.50 KB

Добавлено через 23 минуты
и самое странно:
обычный билд с lto-библиотекой - 581.50 KB

Добавлено через 13 минут
теперь всё исправилось:
обычный код - 581.50 KB
Я сначала пустил библитеку без lto сбилженную под c2d, а lto- под 686.

Добавлено через 1 минуту
В целом lto на библиотеках, похоже, работает, но лишний код урезает слабо.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
17.01.2014, 20:58
А MSys больше не обновляется? Или я просто что то упустил?
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
17.01.2014, 21:52
Объявляли же, 32 и 64
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
17.01.2014, 22:39
А теперь прочитайте еще раз мой вопрос.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.01.2014, 22:39

Win32 -> Win64 = BEX
Проблема появилась после переустановки вин32 ту 64. Проект был с 12 альфа скинами и библ bass.dll На новой системе поставил тот же RAD...

Как перекомпилить Win32 dll -> Win64
Привет форумчане. Подскжите как перестроить MS2005 стоящую на ХР что бы можно было перекомпилить мою dll-ку под платформу Win64

Существуют ли готовые сборки Qt для MinGW версий выше 4.4?
Существуют ли аналоги QtSDK, но с компилятором поновее? Если есть, то где? В частности интересует Qt 4.7.4. Просьба, советы в духе...

Ошибка на компиляторе MinGW при сборке структуры
Помогите, пожалуйста, не знаю что делать. Вот такой простенький код struct abc { int a; }; а выдает ошибку и...

Сборка MySQL драйверов под Windows для mingw
При выполнении C:\Qt\Qt5.1.0\5.1.0-beta1\Src\qtbase\configure.exe Выдает ошибку: Error: Creating a shadow build of Qt requires ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
380
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru