![]() |
|
Модераторы: feodorv |
![]()
|
|
| SynTronic |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 1.9.2010 Где: Москва Репутация: нет Всего: нет |
Доброго времени суток.
Есть такая библиотека, претендующая на включение в boost - Boost.Network. Вот её последние исходники - http://github.com/mikhailberis/cpp-netlib/tree/0.7-devel Всё хорошо, только скомпилировать с ней программу - это фантастика! На VS 2010 она может пол часа компилить пустой проект с включённым заголовочным файлом от библиотеки, а потом выдать критическую ошибку, например "fatal error C1076: ограничение компилятора: достигнут предел внутренней кучи", или " error C3859: превышен диапазон адресов виртуальной памяти для PCH; повторите компиляцию с параметром командной строки '-Zm508' или большим", если использовать PCH. Без PCH или с Zm1000 изредко компилится. На VC 2008 до этих критических ошибок дело доходит на порядок быстрее. Всё это дело падает в файле assign_to.hpp из boost.spirit. Я не пойму, может я что-то неправильно делаю, может быть Visual C++ при инстантировании шаблонов таким способом работает? В общем как сделать так, что бы ЭТО можно было скомпилировать? Или у автора библиотеки мегакомпьютер с 4 терабайтами ОЗУ и 10 процессорами стоит? Ведь он как то же это компилирует Почему так может быть? |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
gcc заюзай. или mingw для венды.
|
|||
|
||||
| SynTronic |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 1.9.2010 Где: Москва Репутация: нет Всего: нет |
Заюзал gcc. Только на нём вообще не компилируется
Вот непонятненько.... http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1974.html
Скачал стабильную 0.7. Компилю пример http_client.hpp на VS2010 под Windows 7.
Ну это же издевательство P.S. Комп C2D 2.13GHz, 3GB оперативки, харды SATA... Всегда всё компилируется в момент! |
||||||
|
|||||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
непонял...
так скомпилилась, или как? и почему скрываешь сообщения об ошибках? |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Типа медленно компилиться ))) |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
ничего удивительного. железо-то древнее - |
|||
|
||||
| SynTronic |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 1.9.2010 Где: Москва Репутация: нет Всего: нет |
Железо, говорите, древнее... Вот попробовал на Core i7 2.93 и 2Gb оперативной памяти.
Тот же самый http_client.hpp. VS 2008. Результаты: release: 01 минута 28.9 с debug: 01 минута 58.6 с Если включить boost::network в предварительно скомпилированный заголовок, то копилятору памяти не хватает. Я уже начинаю понимать, что это нормальное время компиляции. Просто для примера, если кто использует библиотеку, какое у вас время компиляции? И просветите, пожалуйста. Имеет ли смысл включать header-only библиотеки, которые построены только на шаблонах, в предвательно-скомпилированный заголовок? Компилятор вроде всё равно будет в каждом файле, где используется этот заголовок, инстантировать используемые шаблоны или нет? |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 13 Всего: 110 |
Q9550-8Gb - 31сек. естественно linux-gcc-4.5.1. Добавлено через 1 минуту и 1 секунду SynTronic, вы что, и вправду используете микрософткомпилятор? |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: нет Всего: 39 |
Бууст шикарен. Я бы на седьмой корке за это время успел собрать целую программу среднего размера.
Может быть стоит посмотреть в сторону более других кроссплатформенных средств работы с сетью? В данном случае очевидно, что детишки переиграли с темплейтами, так зачем тянуть эту бяку к себе в проект? -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| SynTronic |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 1.9.2010 Где: Москва Репутация: нет Всего: нет |
boostcoder, пока ещё да
Спасибо большое за ответы. Вот нашёл топик автора либы Building cpp-netlib Компилит тесты от либы...
Думаю, что ответ мне ясен |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |