Форум программистов, компьютерный форум, киберфорум
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. Показов 338982. Ответов 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
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,670
Записей в блоге: 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
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,670
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru