Визуал С++ в топку!!!, МС опять облажались!
|
ZaHack
Большой Брат
Группа: Заблокированные Сообщений: 1.252 Регистрация: 24.01.2006 Из: Where The Eagles Fly Пользователь №: 333
Респектов: 117
| Всем, конечно, давно прожужжали уши насчет того что, Си круче Дельфи из-за размера получающихся ЕХЕшников.Этот аргумент был одним из самых важных в HollyWar'ах пасквилянтов и сишников.Но так ли это на самом деле? Я, от нечего делать решил проверить. Почему же бинарники Дельфи весят так много? Может у Борланд плохие программсты? Нет.Программа, написанная на VB или на VC с применением MFC, занимает гораздо меньше места. Все потому, что великая и ужасная компания Microsoft приложила к этому свою лапу. MFC и runtime-библиотеки в VB весят ничуть не меньше, просто они скомпилены в DLL и входят в поставку Windows, а значит, их код не приходится таскать с собой в программах. В защиту Borland можно сказать, что такая возможность присутствует и в Delphi. Нужно просто в настройках проекта поставить галочку Build with runtime packages, тогда программа значительно уменьшится, но потребует наличия соответствующих runtime-библиотек. Естественно, эти библиотеки в поставку винды не входят, но в этом надо винить не Борланд, а монопольную политику мелкософта. Значит будем программировать на чистом API ради чистоты эксперимента (каламбур получился ). Итак VC++ 7, поехали. Нашел классический АПИшный Hello World на Си (плохо знаю эту среду, так что юзал гуугль): #include int WINAPI WinMain(HINSTANCE,HINSTANCE,PTSTR,int) { MessageBox(0,'Hello World', 'test', 0); return 0; }
Скомпильнул. 21 Кб - неплохо, очень неплохо, если вспомнить, сколько занимают дельфийские, даже пустые проекты.Средний размер пустой формы с кнопкой - 360 кб. Теперь черед Delphi 7. Его я знаю лучше, так что функции смог задать более грамотно:
program Project1; function MessageBox(hWnd: LongWord;lpText, lpCaption: PChar;uType: LongWord): Integer;stdcall;external 'user32.dll' name 'MessageBoxA';
procedure ExitProcess(uExitCode: LongWord);stdcall; external 'kernel32.dll' name 'ExitProcess'; begin MessageBox(0, 'Hello World', 'test', 0); ExitProcess(0); end.
Естественно я делал через File-New-Console Application, а не, из автосоздаваемой формы. Компилируем, смотрим размер,и...делайте ваши ставки, господа...файл весит всего 13,5 Кб!!!!! А что это значит? А это значит, что Дельфи оптимизирует лучше, линкует и компилирует тоже лучше, и надо сказать, быстрее. Майкрософт опять облажалась! Все, в топку её "визуальный" Си, переходим на Борланд Си++ ЗЫ Установил Visual C++ 2005 (типа, самый новый, типа прорыв) попытался скомпилить этот мессагебокс - не получилось, написал "windows.h - не найден".Подумал, что это у меня руки кривые и запустил поиск этого файла в папке с сишкой.И нет его там. Нет и все. Майкрософт опять плюнула в лицо тысячам программистов-сишников, "перейдя на новые технологии", выкинув вообще этот хидер из дистрибутива VC.==> Майкрософт в топку! (еще раз) | |
| |
12.05.2006 - 22:36 |
ZaHack
Большой Брат
Группа: Заблокированные Сообщений: 1.252 Регистрация: 24.01.2006 Из: Where The Eagles Fly Пользователь №: 333
Респектов: 117
| Блина, ошибочка вышла! Оказывается, у меня Visual C Express Edition! То-то я удивлялся, что дистрибутив так мало весит...Это рекламная версия Студии от мелких, так что большинства функций там нет или урезаны. PS Все остальное - правда.Могу выложить видеоролик, с компиляцией и потом заценить размер ЕХЕшника. | |
| |
12.05.2006 - 22:53 |
ZaHack
Большой Брат
Группа: Заблокированные Сообщений: 1.252 Регистрация: 24.01.2006 Из: Where The Eagles Fly Пользователь №: 333
Респектов: 117
| QUOTE(Гражданин @ 12.05.2006 - 0:44) Выпр Емляй руки. Я сам компил ел мессаджебокс, на VS2005, ради спортивного интереса. Выпр ямляй правописание! Выкладываю "хэлловорлды" чтобы все могли убедиться, что я не вру, как думают некоторые _http://rudn007.hut1.ru/C.rar | |
| |
24.01.2009 - 19:59 |
Ghost99
Новичок
Группа: Пользователи Сообщений: 1 Регистрация: 24.01.2009 Пользователь №: 1.260.348
Респектов: 0
Предупреждений:
| Цитата | Quote(ZaHack @ 12.05.2006 - 23:53) Цитата | Quote(Гражданин @ 12.05.2006 - 0:44) Выпр Емляй руки. Я сам компил ел мессаджебокс, на VS2005, ради спортивного интереса. Выпр ямляй правописание! Выкладываю "хэлловорлды" чтобы все могли убедиться, что я не вру, как думают некоторые _http://rudn007.hut1.ru/C.rarНаткнулся случайно на топик. Вот вам пример на VS 2003 C++ размер 2 килобайта Присоединённые файлы
Test000.rar ( 4.24кб )
Кол-во скачиваний: 5 | |
| |
|
|