Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Вниз

Размер 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.85 MB
Время: 0.061 c
15-1171583511
vasIZmax
2007-02-16 02:51
2007.03.11
Вопрос для знающих....


2-1171980520
koha
2007-02-20 17:08
2007.03.11
передать в функцию переменную любого типа


15-1171390931
Vovan # 2
2007-02-13 21:22
2007.03.11
Расчёт таблиц истинности для логических функций


15-1170403109
BiN
2007-02-02 10:58
2007.03.11
Толерантность прежде всего


2-1172046176
Клара
2007-02-21 11:22
2007.03.11
Экспорт в Word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский