Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.11;
Скачать: CL | DM;

Вниз

Размер exe-шника С/С++ - и Pascal - компиляторов   Найти похожие ветки 

 
Игорь Шевченко ©   (2007-02-09 15:09) [120]

Psychedelic ©   (09.02.07 15:01) [114]

а по существу вопроса можно ? Я вроде задавал вопрос - в чем практическая ценность KOL


 
Romkin ©   (2007-02-09 15:15) [121]

KSergey ©   (09.02.07 15:08) [119] Я говорил об объеме именно описания конструкций языка, без описания библиотек, как STL так и VCL. Поясняю: для С++ объем описания языка во много раз больше. Можешь сам посмотреть :)


 
evvcom ©   (2007-02-09 15:24) [122]

> [81] palva ©   (09.02.07 13:33)
> Я перечислил некоторые возможности, которых нет в паскале.
> Именно возможности, а не синтаксис.

Видимо, мы вкладываем разный смысл в слово "возможности". Поставь задачу, конкретную задачу, а не тестовое задание типа "перегрузи оператор", и я докажу, что ее ВОЗМОЖНО решить и на паскале в том числе.

> На си можно написать такую функцию в составе dll, к которой
> нельзя обратиться из паскаля. На паскале нельзя написать
> такую функцию, к которой нельзя обратиться из си.

Тут ты опять врешь. Или в первом, или во втором предложении. Смотря с какой колокольни смотреть. Пример функции в составе dll на С, к которой нельзя обратиться из паскаля, в студию!

> [83] palva ©   (09.02.07 13:37)
> Как раз и увижу в стеке разное количество параметров.

Кошмар! Неужели и такой изврат в С воткнули?
Это к такой функции я не смогу обратиться из паскаля? В принципе для паскаля это действительно не характерно, но я бы выкрутился. Слава богу в Delphi можно и на ассемблере кодить, да, думаю, и на чистом паскале выкрутился бы.

И тем не менее, эти "возможности" С больше вносят беспорядка в умы подрастающего поколения, да и в код тоже. :(

> [94] DevilDevil ©   (09.02.07 13:59)
> весчи типа +=, ++,

Так это Inc (Dec) в Delphi. И ты опять доп.удобства (инструменты) привел, а не возможности решения той или иной задачи.

> Дык давайте хотябы проявим уважение самому распространённому языку

А кто-нить проявляет неуважение? Я когда-то опять же слышал, что Си гибче Паскаля. С этим согласен, но по возможностям...


 
Psychedelic ©   (2007-02-09 15:28) [123]


> а по существу вопроса можно ? Я вроде задавал вопрос - в
> чем практическая ценность KOL

Дык я вроде вам уже ответил, причем популярно - о том как размер сказывается на конечных пользователях, на примере Windows, обновлений Windows. Неужто этого мало???

А то что вы просите у homma привести результаты, дык это говорит о поверхностном знании материала, на уровне прочтения доков.

Я бы вам это даже не доказывал, т.к. толку в этом нет. Вы как чел. с консервативным характером все равно будете про Фому рассказывать..
Человек зря время потратит, а вы останетесь при своем мнении.


> Дело в том, что платят обычно не за те приложения, в которых
> важен размер. Тут довольно много программистов на Delphi,
>  они могут рассказать, за какие примерно приложения платят
> денег на еду.


Конечно , платят за результат. А вот к результату можно прийти разными путями. Причем если с точки кодинга  KOL vs VCL - ничуть не больше по времени чем с VCL, при достаточном уровне.

> Реализовывать подобные проекты на KOL - лучше
> сразу застрелиться

Размышления человека сталкивающегося с новым.
Так всегда, поверьте. Когда мне нужно было срочно переучится из С на delphi , я думал также. Ведь можно было сделать это и так, правда?
Зато сейчас не жалею, т.к. имею более широкий выбор.


 
Игорь Шевченко ©   (2007-02-09 15:29) [124]


> Пример функции в составе dll на С, к которой нельзя обратиться
> из паскаля, в студию!


sprintf, sscanf в ntdll.dll :)


 
Bless ©   (2007-02-09 15:32) [125]


> KSergey ©   (09.02.07 15:08) [119]
>
> Честно не видел.
> но я сильно подозреваю, что для С++ туда включено STL


ISO/IEC 14882:1998 - C++ Final Draft
занимает 3 мегабайта простых html-файлов без картинок.
Сколько это в страницах, не знаю, лениво мерять, но много.
Это без STL.


 
Игорь Шевченко ©   (2007-02-09 15:33) [126]

Psychedelic ©   (09.02.07 15:28) [123]

Если не трудно, давай все-таки обсуждать KOL, а не мою персону. KOL, поверь, куда как более интересней.

> Дык я вроде вам уже ответил, причем популярно - о том как
> размер сказывается на конечных пользователях, на примере
> Windows, обновлений Windows. Неужто этого мало???


Вроде не Windows ни обновления для него на KOL не написаны. Поэтому пример слегка неудачный.


> Конечно , платят за результат. А вот к результату можно
> прийти разными путями. Причем если с точки кодинга  KOL
> vs VCL - ничуть не больше по времени чем с VCL, при достаточном
> уровне.


Серьезно ? Мне вот крайне любопытно, есть в мире системы уровня предприятия (за другие, увы, почти не платят), написанные на KOL :)


> Размышления человека сталкивающегося с новым.
> Так всегда, поверьте. Когда мне нужно было срочно переучится
> из С на delphi , я думал также. Ведь можно было сделать
> это и так, правда?


Ты не поверишь, конечно, но с KOL я знаком уже лет пять...Так что говорить про "столкновение с новым" не всегда уместно - можно в лужу сесть.


 
MBo ©   (2007-02-09 15:39) [127]

>Пример функции в составе dll на С, к которой нельзя обратиться из паскаля, в студию!
>sprintf, sscanf в ntdll.dll :)

директива varargs позволяет это сделать (начиная с D6)


 
homm ©   (2007-02-09 15:43) [128]

> Вроде не Windows ни обновления для него на KOL не написаны.
> Поэтому пример слегка неудачный.

Дык в том и дело :)


> Мне вот крайне любопытно, есть в мире системы уровня предприятия
> (за другие, увы, почти не платят), написанные на KOL :)
Угу, это все равно что говорить что Настоящие машины - это БМВ, а остальные почти не ездят.


 
Игорь Шевченко ©   (2007-02-09 15:53) [129]

MBo ©   (09.02.07 15:39) [127]

Да, только с одним ограничением, можно объявить

function sscanf (Buf, Format: PChar): Integer; cdecl; varargs; external "ntdll.dll";

но нельзя объявить

type
 Tsscanf = function (Buf, Format: PChar): Integer; cdecl; varargs;
var
 _sscanf: Tsscanf;

и загружать ее динамически через GetProcAddress. По крайней мере мне только что компилятор в D2006 выдал ошибку на подобное объявление.


 
Игорь Шевченко ©   (2007-02-09 15:57) [130]

homm ©   (09.02.07 15:43) [128]


> Угу, это все равно что говорить что Настоящие машины - это
> БМВ, а остальные почти не ездят.


Не совсем так, все-таки большинство программистов программируют не ради собственного удовольствия или не только ради него. Кушать тоже иногда надо. Вот когда кушать хочется, то и средства для разработки выбираются наиболее удобные и отлаженные, а на размер в этом случае не обращают внимания.

Кстати, а сам Фрэнк Борланд про KOL что-нибудь говорит ?


 
palva ©   (2007-02-09 16:05) [131]


> директива varargs позволяет это сделать (начиная с D6)

Интересно. Буду пробовать.


 
homm ©   (2007-02-09 16:07) [132]

> Кстати, а сам Фрэнк Борланд про KOL что-нибудь говорит ?

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


 
evvcom ©   (2007-02-09 16:20) [133]

> [124] Игорь Шевченко ©   (09.02.07 15:29)

Ну я уже писал об этом там же чуть ниже :)
В конце концов хотя я и не смогу объявить универсально эту функцию, разве мне что-то мешает сделать нужное количество объявлений этой функции для нужного мне количества параметров? Надеюсь, соглашение о вызове данной функции Дельфями поддерживается? Чего там, stdcall или cdecl? Но вызвать-то смогу. Так нет?


 
evvcom ©   (2007-02-09 16:29) [134]

> [133] evvcom ©   (09.02.07 16:20)

Прочитал [127],[129]. Не знал... :)
Век живи, век учись ©


 
Игорь Шевченко ©   (2007-02-09 16:34) [135]

homm ©   (09.02.07 16:07) [132]

Это полумифический персонаж такой :) Ходят слухи, что фирма по ему названа.

Я собственно, фирму имел в виду, она про KOL чего-нибудь говорит ?


 
Psychedelic ©   (2007-02-09 17:05) [136]


> Серьезно ? Мне вот крайне любопытно, есть в мире системы
> уровня предприятия (за другие, увы, почти не платят), написанные
> на KOL :)


KOL, как инструмент для разрботки появился недавно.
Основное препятствие для распространения - это русский язык. :)


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

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

Поговорив с вами, я понял что
Для вас чужд слоган - eсли можно сделать лучше, почему бы это не сделать?

Вот ваше : выбирай то что проверено временем, даже если это идет в ущерб  чему-то. Новые идеи? На них нет времени.

Хотя вы забываете, что когда то и ваш выбор был "непроверенным" .
Я уже говорил про консерватизм?

Если бы я был вашего возраста, может я также думал.
Хотя люди разные, Лев Толстой например в 80 лет начал учить новый язык..
Для Вас бы это не представляло практической ценности. Так как жизнь уже подходила бы к концу. И нет смысла в поисках.


 
Игорь Шевченко ©   (2007-02-09 17:17) [137]

Psychedelic ©   (09.02.07 17:05) [136]

Я вроде просил мою персону не обсуждать ибо оффтопик.


> KOL, как инструмент для разрботки появился недавно.
> Основное препятствие для распространения - это русский язык.
>  :)


Странно. VCL на английском распространился в странах СНГ и ничего, захотели, перевели. Кроме того, в форуме KOL довольно много постов на английском, значит, не такая помеха.


> Если навстречу  KOL пойдет  Borland, локализирует  его ,
>  изменит для большей интеграции и сделает его как отдельный
> инструмент в среде для создания приложений с минимальными
> набором - поверьте он приобретет большую популярность.


Сдается мне, что Borland тоже не видит практической пользы от KOL..


 
ANTPro ©   (2007-02-09 17:27) [138]

> [136] Psychedelic ©   (09.02.07 17:05)
> Основное препятствие для распространения - это русский язык.
> :)

Чего? В KOL коменты уже на русском? Сайт В. Кладова тоже по дефолту на русском?


 
ANTPro ©   (2007-02-09 17:27) [139]

> [138] ANTPro ©   (09.02.07 17:27)
> коменты

комментарии


 
SergeR ©   (2007-02-09 18:13) [140]

0.5 страницы топика в тему и 7 страниц обсуждения  KOL.

2All. Я не понимаю, в чём проблема, кому на чем удобней писать, тот на том и пишет, а доказывать ($$$$$ меряться), что то тут друг другу бессмысленно.

У каждого инструмента разработки есть свои достоинства и недостатки.
И писать что, к примеру, "KOL - это не есть хорошо", т.к. его не одобрил дядя Билли,какой то Фрэнк Борланд и дядя Федор :) - нууу не красиво как то чтоли...


 
Psychedelic ©   (2007-02-09 19:06) [141]

Основной форум на русском, основные доки также на русском втч книга..
Потихоньку включаються иностранцы, что не может не радовать...


> Странно. VCL на английском распространился в странах СНГ
> и ничего, захотели, перевели.

Анлийский международный, неужто не понятно. Русский не так распространен.


 
Loginov Dmitry ©   (2007-02-09 20:09) [142]


[37] DevilDevil ©   (08.02.07 19:54)
Delphi не компилирует "всё в одном", компилятор обладет "умным связыванием". Другое дело, если в секциях юнита Initialization или Finalization что то написано, то этот код компилируется. Именно такой "эффект" появляется, когда просто дописываешь в юзес SysUtils и экзешник увеличивается на 25 кило.


Связывание может оно и умное, однако полностью неработоспособно при линковке виртуальных функций. Из-за этого в exe-шник линкуется куча всяческих ненужных функций, которые ниоткуда никогда не вызываются. Даже простое упоминание класса с перегруженными функциями в любом месте кода заставит линкер включить код всех этих функций в приложение. Поэтому операциями is и as нужно пользоваться с осторожностью. Smart Linker. Что поделаешь!


 
ZiTRaX ©   (2007-02-09 22:55) [143]

Удалено модератором


 
homm ©   (2007-02-10 14:51) [144]

ты [48] смотрел? libctiny в нете искал? мыло, на которое можно было бы скинуть проект в 1,5 кб написал?
Чего тогда ноешь?


 
homm ©   (2007-02-10 14:52) [145]

Выложить результаты тестов, обещаные Игорю вчера не удалось, по понятным причинам - форум лежал. Но они (результаты) есть, седня выложу.


 
Celades ©   (2007-02-10 15:33) [146]

у меня минимум получалось 600 байт в VS


 
homm ©   (2007-02-10 16:11) [147]

> у меня минимум получалось 600 байт в VS

Ты хочеш сказать что не использовал никакие сторонние утилиты, не срезал сегиенты, все с помощью библиотек и опций компилятора?


 
Celades ©   (2007-02-10 16:15) [148]


> Ты хочеш сказать что не использовал никакие сторонние утилиты,
>  не срезал сегиенты, все с помощью библиотек и опций компилятора?
>

конечно. только настройки компилятора и линкера


 
homm ©   (2007-02-10 20:23) [149]

Итак, как и обещал...
Делпхи-5, кол-2.51, вин-ХПсп2

"Голая" форма
---------------------------------------------------------------------------------
|Категория                  | VCL           | KOL 2.51        | KOL 2.51 with   |
|                           |               |                 | sys replace     |
---------------------------------------------------------------------------------
|размер ехе-файла, кб       | 286           | 24              | 13.5            |
|виртуальная память, кб     | 456           | 408             | 336             |
|реальная память, кб        | 2380          | 1808            | 1628            |
|время запуска, мСек        | 46 (*)        | 46 (*)          | 46 (*)          |
---------------------------------------------------------------------------------
* - Значения прыгали на одинаковые дискретные величины, приведено минимальное

Небольшое количество элементов на форме
---------------------------------------------------------------------------------
|Категория                  | VCL           | KOL 2.51        | KOL 2.51 with   |
|                           |               |                 | sys replace     |
---------------------------------------------------------------------------------
|размер ехе-файла, кб       | 325           | 31              | 20.5            |
|виртуальная память, кб     | 484           | 436             | 364             |
|реальная память, кб        | 2556          | 2028            | 1872            |
|время запуска, мСек        | 78 (*)        | 62 (*)          | 62 (*)          |
---------------------------------------------------------------------------------
* - Значения прыгали на одинаковые дискретные величины, приведено минимальное

2 формы, чуть большее количество элементов
---------------------------------------------------------------------------------
|Категория                  | VCL           | KOL 2.51        | KOL 2.51 with   |
|                           |               |                 | sys replace     |
---------------------------------------------------------------------------------
|размер ехе-файла, кб       | 392           | 35,5            | 25              |
|виртуальная память, кб     | 504           | 476             | 468             |
|реальная память, кб        | 2888          | 2448            | 2420            |
|время запуска, мСек        | 93 (*)        | 78 (*)          | 78 (*)          |
---------------------------------------------------------------------------------
* - Значения прыгали на одинаковые дискретные величины, приведено минимальное


ЗЫ. Судя по предпросмотру в дмклиенте таблички разъедутся :) Ну что-ж, посмотрим:)


 
ANTPro ©   (2007-02-10 21:49) [150]

> [149] homm ©   (10.02.07 20:23)

Как насчет архивчика с EXE/Сырцами приложить? Тож хочу потестить %)


 
Psychedelic ©   (2007-02-10 22:06) [151]


> Как насчет архивчика с EXE/Сырцами приложить? Тож хочу потестить
> %)


Тут и без тестов понятно кто выигрывает. Если хотя бы раз запустить прогу на Kol .


 
vuk ©   (2007-02-10 22:16) [152]

Одна форма... Две формы... Фигня это все. Ну да, на программках типа "Hello World" пальцы гнуть легко, только это все детский сад, т.к. смысла в этом "Hello World" - ноль. В серьезных проектах формы - сотнями. И объемы зависят уже не от того, какой виртуальный метод прилинковало, а от того, какая внутри функциональность.


 
ANTPro ©   (2007-02-10 22:16) [153]

> [151] Psychedelic ©   (10.02.07 22:06)

Я это и так знаю.


 
homm ©   (2007-02-10 22:19) [154]

>
> Как насчет архивчика с EXE/Сырцами приложить? Тож хочу потестить %)

http://homm86.narod.ru/KOLvsVCL.rar

зы тестировал бы только кол - архивчик в 8 раз меньше был бы ;)


 
homm ©   (2007-02-10 23:16) [155]

Готов сам себе посыпать голову пеплом :(
Просто ошеломляющие для меня результаты при использованием 20-и форм с более менее большим количечвом элементов...

---------------------------------------------------------------------------------------------------
|Категория                  | VCL           | KOL 2.51        | KOL 2.51 with   | KOL 2.51 with   |
|                           |               |                 | sys replace     | GRush Controls  |
---------------------------------------------------------------------------------------------------
|размер ехе-файла, кб       | 516           | 120             | 109             | 142             |
|виртуальная память, кб     | 1920          | 3036            | 3056            | 7344            |
|реальная память, кб        | 4696          | 5332            | 5038            | 9612            |
|время запуска, мСек        | 769           | 609             | 625             | 1200            |
|объекты GDI                | 263           | 369             | 369             | 1293            |
|объекты USER               | 1153          | 1282            | 1282            | 1286            |
---------------------------------------------------------------------------------------------------
* - Значения прыгали на одинаковые дискретные величины, приведено минимальное


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

Так-же я решил посмотреть сколько будет весть "тяжелый" интерфейс на КОЛе (спасибо Владимиру за его модуль toGRush, с ним не составило труда проделать этот тест). По-моему - впролне приличные цифры для 20-и то форм со средним набором контроллов...
Счас пойду искать оригинальные RBCotnrols под VCL, которые и были протатипом GRush... Тож охото поглядеть...
Вот уж что действительно странно


 
homm ©   (2007-02-10 23:37) [156]

Да уж... Вот тут кол реабилитируется, благодоря моим контроламм, по сравнению не моими VCL контролами, у которых еще и функционал поскромнее
:)

-------------------------------------------------------------------------------------------------
|Категория                  | VCL           | VCL with      | KOL 2.51        | KOL 2.51 with   |
|                           |               | RBControls    |                 | GRush Controls  |
-------------------------------------------------------------------------------------------------
|размер ехе-файла, кб       | 516           | 773           | 120             | 142             |
|виртуальная память, кб     | 1920          | 25460         | 3036            | 7344            |
|реальная память, кб        | 4696          | 28596         | 5332            | 9612            |
|время запуска, мСек        | 769           | 5600          | 609             | 1200            |
|объекты GDI                | 263           | 1873          | 369             | 1293            |
|объекты USER               | 1153          | 1379          | 1282            | 1286            |
-------------------------------------------------------------------------------------------------


Хотя конечно это кроме как о кривой реализации RB контролов мало о чем говорит :(


 
homm ©   (2007-02-10 23:40) [157]

архив http://homm86.narod.ru/KOLvsVCL.rar тоже обновил. если комунитьбудь интересно.


 
ANTPro ©   (2007-02-10 23:46) [158]

Рекламой стало попахивать %)

Чем меряешь?


 
Celades ©   (2007-02-10 23:47) [159]


> какой виртуальный метод прилинковало

слабо чувствую связь...


 
vuk ©   (2007-02-10 23:55) [160]

to Celades ©   (10.02.07 23:47) [159]:
>слабо чувствую связь...
Зря. На больших проектах имеем следующую ситуацию - большая часть кода библиотек, которая в мелких приложениях не используется, начинает быть так или иначе полезной. Плюс код, отвечающий за возможности приложения (и использующийся на 100% по определению) имеет уже больший объем, чем код "генофонда". Так что на 20 мегабайтном исполняемом файле уже давно безразлично, что там есть, допустим, мегабайт "мертвого" кода.



Страницы: 1 2 3 4 5 6 вся ветка

Текущий архив: 2007.03.11;
Скачать: CL | DM;

Наверх




Память: 0.86 MB
Время: 0.042 c
15-1170401592
boriskb
2007-02-02 10:33
2007.03.11
Пусть всегда будет солнце :)


3-1166266423
The X
2006-12-16 13:53
2007.03.11
Правильное определение Memo при CREATE TABLE


2-1171790032
VadimSpb
2007-02-18 12:13
2007.03.11
Создание текстового файла в ASCII


3-1166179693
Vlad Oshin
2006-12-15 13:48
2007.03.11
select from select как сделать правильно?


15-1171487412
ProgRAMmer Dimonych
2007-02-15 00:10
2007.03.11
Была в своё время передача "Красная стрела"...