HLFX.Ru Forum
Показать все 5 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- MS Visual C++ 2005 Express (https://hlfx.ru/forum/showthread.php?threadid=789)


Отправлено Government-Man 18-07-2007 в 16:38:

MS Visual C++ 2005 Express

Юзал ли кто-нибудь этого зверька? Поделитесь впечатлениями.

Что за компилятор в Express-версии? Нормально ли он оптимизирует проги? Стоит ли переходить на эту студию, если мне плевать на то, что она не компилит HL1 SDK?


Отправлено XaeroX 18-07-2007 в 17:57:

не юзал подозреваю, что компилятор там хороший - тот же что и в любой 2005 студии.

__________________

xaerox on Vivino


Отправлено Government-Man 18-07-2007 в 19:15:

Скачал я сие чудо. Скоро поделюсь впечатлениями.


Отправлено Government-Man 19-07-2007 в 08:21:

MS Visual C++ .NET 2005 Express

Первое, что бросается в глаза при запуске - интерфейс. Естественно, по сравнению с 6-й версией он сильно изменился - современные обтекаемые менюшки и кнопочки, перетаскиваемые панельки, которые можно прилепить к любой стенке и сделать выдвигающимися и даже встроенный браузер.

Чуть более удобный браузер классов, показывающий иерархию. IntelliSense, позволяющий сворачивать и разворачивать блоки кода (сомнительная фича, но все же), а также корректно показывающий прототипы всех функций.

Естественно, вся эта красота довольно требовательна к ресурсам.

Теперь перейдем собственно к возможностям самого компилятора. Конечно же, первое, к чему потянулась моя халферская рука - это попытка скомпилить SourceSDK. Открываем проект, компилим.

Пожужжав минуты три выдает тепленький client.dll второй Халфы. Размер - 3.85 мб. Теперь смотрим вальвовский клиент, который компилился VC2003 - 2.99 мб! Ну и ну! А ведь по утверждениям Майкрософт в Экспресс-версию входит тот же оптимизирующий компилятор, что и в профессиональную версию! Неужели они так деградировали за 2 года?!

Ладно, теперь попробуем создать свой проект. Выбираем тип "emptyproj", пишем инициализацию OpenGL с помощью библиотеки GLUT. Компилируем. Смотрим размер экзешника - 76 кб! Что за?!

Ладно, теперь пробуем создать консольное приложение. Выбираем тип "Win32 Console Application" и создаем в нем файл main.cpp с на редкость тривиальным кодом:

C++ Source Code:
void main()
{
}


Компилим, идем в папку проекта и... с удивлением обнаруживаем там экзешник размером 5 кб! И как это понимать?!! Что такого залинковывает этот монстр в Win32-проект???

И тут меня внезапно осеняет! Создаем в студии новый проект типа "Win32 Console Application" и внимаетльно разглядываем окошко его настройки. В нем оказывается можно выбрать еще и подтип проекта, среди которых "Win32 Console Application", "Win32 Application", "Win32 Dynamic-Link Library" и "Win32 Static Library". Теперь они, видимо все нативные приложения, которые запускаются не под CLR, высокомерно назвали "консольными"! Выбираем "Win32 Application" и пишем еще более тривиальный код:

C++ Source Code:
1
#include <windows.h>
2
 
3
int WINAPI WinMain(HINSTANCE inst, HINSTANCE prevInst, LPSTR cmdLine, int cmdShow)
4
{
5
  MessageBoxA(0, "ЛОЛ!", "ыыыыыы)", MB_OK);
6
  return 0;
7
}


Ну вот... размер экзешника - всего 6.5кб, намного меньше, чем у VC6.

Если я правильно понял, в "emptyproj" залинковывается среда выполнения CLR, дабы не обязывать юзера ставить .NET Framework! Ппц...!

Отладчик еще не смотрел.

Итог - хорошая современная среда разработки, с отличным компилятором. А главное - можно совершенно бесплатно и легально пользоваться, продавать программы и не получать по шапке от Майкрософт. Пожалуй, я остановлю свой выбор именно на ней.

MS Visual C# .NET 2005 Express

C# - родной язык платформы .NET. Его IDE, в отличие от VC++, отличается гораздо более проработанным и менее глючным интерфейсом в зеленых тонах, радующих глаз.

Сам язык достоин своего названия - улучшеный C++. В нем действительно устранены многие противоречия в синтаксисе языка C++. Правда, не обошлось и без потерь - нет шаблонов и перегрузки оператора "=". Но, по правде говоря, оно там не особо и нужно - платформа .NET и без того предоставляет богатые возможности.

Средства взаимодействия с нативным кодом также есть. Причем, в отличие от C++, Шарпу не нужны никакие громоздкие либы - достаточно определить прототип функции в коде и указать, в какой дллке ее следует искать - линкер сам найдет ф-ию в таблице экспорта.

Сама патформа .NET очень богата. Все классы аккуратно разложены по пространствам имен, так что разбираться в них легко. Большое количество элементов управления, позволяющих быстро и легко разрабатывать сложные оконные приложения.

Вопреки распрастраненному мнению, .NET приложения совсем ненамного уступают в производительности нативному коду (хотя и требовательны к памяти), а в будущих версиях Windows, в которые эта платформа будет встроена изначально, они и вовсе не будут уступать ему в скорости.

Ну а тем, кто говорит, что, мол, шлепать формочки - быдлокодерство, отвечу: "Пишите тогда вообще в машинных кодах".

Также очень порадовал отладчик, подробно описывающий произошедшую ошибку (вместо абстрактного "Access Violation")

Итог - тоже очень хорошее средство разработки.


Отправлено SiPlus 08-10-2007 в 07:02:

2,99 мб? VC++ 6.0 записывает 2,10 мб


Временная зона GMT. Текущее время 14:28.
Показать все 5 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024