30 дек. 2009 г.

MinGW vs MSVC

Решил попробовать скомпилировать проект с помощью бесплатного тулкита Microsoft Visual Studio Express а именно Visual Studio 8 (2005). Тулкит "жирный" 462 mb. сама Visual Studio, и 395 mb. Windows Platform SDK (в 2005 версии не входит в состав VS, imho это правильно).
Наверное дело привычки, но студия как IDE после Code::Blocks мне не понравилась, почти без "танцев" сбилдил либы wxWidgets, сам же проект "ниасилил", в общем на Code::Blocks лично мне оказалось удобней (правда геморрой был и там, но спасло гугление на официальном форуме wxWidgets).
В общем Release теперь билдиться только с помощью компилятора MSVC. Почему? Все просто: размер бинарника собранного в MinGW - 3.3 mb, в MSVC - 2.2 mb, т.е. - 30% (или + 50% это как посмотреть). К тому же компилятор явно быстрее, это факт. Но к студии необъяснимое отвращение, почему-то интерфейс (контролы и т.п.) вызывают стойкую ассоциацию с .NET приложением, воротит и все тут.
Параллельно посмотрел Qt 4.6, чего-то не собираются некоторые экземплы, покрутил примеры, да, фреймворк по-хорошему толст, примеры некоторые впечатляют, говорят современный (обозвать ивенты и обработчики событий сигналами и слотами и присобачить слева moc прекомпилятор это нее**цо модерново, да).
Но вот я подумал о своем приложении не супер-пупер, но и не самом простом (IPC, Custom Events, Sockets, не самый хреновый GUI, кстати нативный и выглядящий как на WinAPI). Так вот аппликуха использует в среднем около 2.5-3 mb оперативной памяти, сидит в трее и расчитана на постоянное использование, размер NSIS инсталлятора менее психологической метки в 1 mb и никаких дополнительных либ, для небольших и средних проектов самое оно (хотя назвать Code::Blocks небольшим или средним язык не поворачивается и он чертовски хорош). С Qt эти показатели увеличиваются в разы. Лицензия wxWidgets опять же намного свободней. Вот и вся логика, а модерн ради модерна пусть будет для эстетов и пиарастов.
P.S. Разработка wxWidgets началась в 1992 году, Qt - в 1994, думаю костылей и там и там хватает.

Комментариев нет: