Форум программистов, компьютерный форум, киберфорум
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. Показов 337574. Ответов 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru