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

Вниз

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

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

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


 
Celades ©   (2007-02-11 00:02) [161]


> vuk ©   (10.02.07 23:55) [160]

а виртуальные методы тут причем? Что значит "мертвый код"?


 
Чапаев ©   (2007-02-11 00:04) [162]

Заглянул-таки в ветку... А прикольный вы тут холивар развели! %-)

Использование VCL стимулирует производителей жёстких дисков, и использование KOL -- производителей оперативки. А C++ и вовсе -- пакистанскую наркомафию. Вокруг масонский заговор, война проиграна, я отправляюсь спать.


 
vuk ©   (2007-02-11 00:16) [163]

to Celades ©   (11.02.07 00:02) [161]:
>а виртуальные методы тут причем?
Читайте ветку.

>Что значит "мертвый код"?
Код, который в процессе работы не исполняется и не будет исполняться никогда.


 
homm ©   (2007-02-11 01:13) [164]

> Рекламой стало попахивать %)
Это ос чего бы? :) Если бы я КОЛ рекламировал, я бы результаты предроследнего теста не приводил :)
А в кривости RBControlo"лов всегда был уверен, я тут не при чем совершенно ;)


> Чем меряешь?

виртуальная память - taskmgr.exe
реальная память - taskmgr.exe
объекты GDI - taskmgr.exe
объекты USER - taskmgr.exe
время запуска - Sysinternals Process Explorer
размер ехе-файла - explorer.exe :)


 
Anatoly Podgoretsky ©   (2007-02-11 07:54) [165]

> homm  (11.02.2007 01:13:44)  [164]

Из твоей таблицы, если беспокоиться об памяти, а о ней беспокоиться надо в первую очередь, а не о диске, то КОЛ подходит в первую очередь только для простых приложений.


 
GrayFace ©   (2007-02-11 11:55) [166]

evvcom ©   (09.02.07 12:00) [62]
Может я не прав, но, думаю, речь опять идет не о возможностях, а об удобствах. В конце концов все эти шаблоны преобразовываются к какому-то коду, который точно так же можно написать и на Паскале без "функторов", "экстракторов" и "бустов" :)

По возможностям, разве что, написание драйверов можно отметить, да множественное наследование. Хотя и их потенциально можно достич. Все-таки важнее RAD-овость, удобства.

wicked ©   (09.02.07 13:10) [72]
отсутствие finally в си++ - это не причина, а следствие...

Следствие чего? Не смарт пойнтеров же!

palva ©   (09.02.07 13:33) [81]
На си можно написать такую функцию в составе dll, к которой нельзя обратиться из паскаля. На паскале нельзя написать такую функцию, к которой нельзя обратиться из си.

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

homm ©   (09.02.07 14:25) [106]
2 - виртуальные методы - самая большая дыра для "мертвого кода".

А при чем тут виртуальные методы? Их можно не делать в классах, и можно делать в object-ах.

Psychedelic ©   (09.02.07 15:28) [123]
Дык я вроде вам уже ответил, причем популярно - о том как размер сказывается на конечных пользователях, на примере Windows, обновлений Windows. Неужто этого мало???

Сложно придумать более неудачный пример. 300-500Kb, выигрываемые при переходе с VCL на KOL нчиего не значат в таких махинах, как Windows.

Игорь Шевченко ©   (09.02.07 16:34) [135]
Это полумифический персонаж такой :)

Почти как Дмитрий О., упомянутый в этой ветке. :)

Psychedelic ©   (09.02.07 17:05) [136]
Почему-то мне 19 лет, консерватизм и не пахнет, но я согласен с Игорем по этому вопросу.

Loginov Dmitry©   (09.02.07 20:09) [142]
Даже простое упоминание класса с перегруженными функциями в любом месте кода заставит линкер включить код всех этих функций в приложение.

Как сказать. Объявление переменной не заставит. И обращение к ее Free в финализации - тоже.

homm ©   (10.02.07 23:16) [155]
А если сравнить с табличкой для 2 форм, то в размере КОЛовские ехе"шники прибавили почти столько же, сколько VCL.

Anatoly Podgoretsky ©   (11.02.07 7:54) [165]
Из твоей таблицы, если беспокоиться об памяти, а о ней беспокоиться надо в первую очередь, а не о диске

Более чем спорно. Размер сразу проявляет себя в траффике, а память... Для маленьких прог приоритет размера очевиден, а для больших будет ли это потребление памяти существенным?

В общем, для маленьких бесплатных и условно бесплатных программок KOL может быть полезен.


 
Loginov Dmitry ©   (2007-02-11 12:19) [167]

> Как сказать. Объявление переменной не заставит. И обращение
> к ее Free в финализации - тоже.


Но это таки очень частные случаи.
Если вы всегда применяете Free без Create, то об отсутствии "мертвого" кода можете быть спокойны :))


 
evvcom ©   (2007-02-12 08:59) [168]

> [166] GrayFace ©   (11.02.07 11:55)
> разве что, написание драйверов можно отметить

И драйвер можно до D3 включительно написать :)
Но опять же это уже ограничения среды, а не языка.

> [166] GrayFace ©   (11.02.07 11:55)
> Не согласен. Через Асм можно обратиться к любой функции,
> а без Асма из VC не получится обратиться к паскалевским
> register. (хотя, если использовать не родной компилятор
> может и выйдет)

Золотые слова :) Я что-то про отсутствие register вызова в VC++ забыл. Хотя это опять же ограничения не языка. :)


 
palva ©   (2007-02-12 10:01) [169]

> Я что-то про отсутствие register вызова в VC++ забыл
В борландовском компиляторе имеется спецификатор __fastcall


 
Игорь Шевченко ©   (2007-02-12 10:36) [170]

homm ©   (10.02.07 20:23) [149]

Чудес, стало быть, не произошло. И мне до сих пор непонятно, зачем народу нужен KOL. Зачем Кладову нужен - понятно - и интересно и познавательно, да и руку набить опять же. Но, как я уже говорил, на мелких утилитах особенно хлебушка не пожуешь, а целесообразность применения подобной технологии (именно технологии, так как от VCL это программирование все-таки отличается) в более или менее немелких проектах мне не видна.
Увы.


 
evvcom ©   (2007-02-12 11:47) [171]

> [169] palva ©   (12.02.07 10:01)

Да, я в курсе. Но я-то про MS, в нем я такого не помню. :)


 
Saverem   (2007-02-12 12:07) [172]

evvcom ©   (12.02.07 11:47) [171]

>Да, я в курсе. Но я-то про MS, в нем я такого не помню. :)

А суслик то есть :)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_core___fastcall.asp


 
Psychedelic ©   (2007-02-12 13:50) [173]


> Чудес, стало быть, не произошло. И мне до сих пор непонятно,
>  зачем народу нужен KOL. Зачем Кладову нужен - понятно -
>  и интересно и познавательно, да и руку набить опять же.
>  Но, как я уже говорил, на мелких утилитах особенно хлебушка
> не пожуешь, а целесообразность применения подобной технологии
> (именно технологии, так как от VCL это программирование
> все-таки отличается) в более или менее немелких проектах
> мне не видна.
> Увы.


Да от VCL - отличается, - но это специфика языка Delphi. Это язык, и если вы его знаете, то никаких проблем при  написании KOL проекта не возникнет.
Еще раз повторю, не все пишут большие проекты, маленьких намного больше чем больших.  Думаю с этим вы согласитесь.  + крэки на vcl писать?
Каждый инструмент для чего то нужен. И ровнять их под одну дудку, здесь под вашу, просто  нельзя.


 
Игорь Шевченко ©   (2007-02-12 14:30) [174]

Psychedelic ©   (12.02.07 13:50) [173]


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


Ошибаешься. Маленькие в большом количестве просто не нужны.


> + крэки на vcl писать?


Нет, сказать детству в одном месте, чтобы прекратило играть и не писать их вовсе.


> Да от VCL - отличается, - но это специфика языка Delphi.
>  Это язык, и если вы его знаете, то никаких проблем при
>  написании KOL проекта не возникнет.


Недостаточно знать только язык, чтобы разрабатывать приложения. Поверь, если не самоочевидно.


> И ровнять их под одну дудку, здесь под вашу, просто  нельзя.


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


 
Думкин ©   (2007-02-12 14:33) [175]


> + крэки на vcl писать?

крындец. Желательно на подставке с УК.


 
Игорь Шевченко ©   (2007-02-12 14:43) [176]

homm ©   (10.02.07 22:19) [154]


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


Я сильно извиняюсь, а у вас разделение на .pas и .inc так и осталось ? В коде очень трудно разбираться в этом случае, привык к паскалевской парадигме, что в одном модуле все в одном месте.


 
Psychedelic ©   (2007-02-12 17:29) [177]


> Ошибаешься. Маленькие в большом количестве просто не нужны.


Нужны большие в большом количестве? :)
Слушайте, вы какой-то бред несете.

- видишь суслика в траве?
- Нет
- А он там есть.

Также и у вас.


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

Psychedelic ©   (12.02.07 17:29) [177]


> Нужны большие в большом количестве? :)


Ну да. Именно так. Оглянись вокруг.


 
Psychedelic ©   (2007-02-12 18:26) [179]

Видимо у нас разные критерии к большим и маленьким.


 
homm ©   (2007-02-12 22:30) [180]

> Я сильно извиняюсь, а у вас разделение на .pas и .inc так
> и осталось ? В коде очень трудно разбираться в этом случае,
> привык к паскалевской парадигме, что в одном модуле все
> в одном месте.

Да разделяется, но копатся там нет никакого смыла так как тот код MCK генерит. Вы же не лазите в исходники DFM файлов?


 
evvcom ©   (2007-02-13 08:45) [181]

> [172] Saverem   (12.02.07 12:07)

Ну, молодцы, что еще сказать? За конкурентами следят :)


 
Игорь Шевченко ©   (2007-02-13 11:32) [182]

homm ©   (12.02.07 22:30) [180]


> Да разделяется, но копатся там нет никакого смыла так как
> тот код MCK генерит. Вы же не лазите в исходники DFM файлов?
>


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

Я все к чему клоню - для серьезных проектов, особенно за которые деньги платят, размер - это настолько неважная составляющая, что на ее просто игнорируют. Гораздо важнее читабельный и сопровождабельный код, ну и функциональность, разумеется. А для мелких фриварных/шароварных утилит - что же, может, KOL и вполне подходит, но, на мой взгляд, все равно неудобно. Зря вы от слова class отказались :)


 
Psychedelic ©   (2007-02-13 17:17) [183]


>  А для мелких фриварных/шароварных утилит - что же, может,
>  KOL и вполне подходит, но, на мой взгляд, все равно неудобно


Ну вот, а столько говорили. ЧТД.

Большие проекты разрабатывают группами. Один чел никогда не будет его разрабатывать. Ну а здесь KOL неподходит - из-за того что многие привыкли к VCL, да и так глубоко не знают язык (к примеру чем отличается процедура или функция от метода).
Глубокое знание языка - к сожалению это из правила  потихоньку превращается в исключение.  
Ну а если один или два разрабатывют , - то здесь более широкий выбор инструментария.


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

Psychedelic ©   (13.02.07 17:17) [183]


> Большие проекты разрабатывают группами. Один чел никогда
> не будет его разрабатывать. Ну а здесь KOL неподходит -
> из-за того что многие привыкли к VCL, да и так глубоко не
> знают язык (к примеру чем отличается процедура или функция
> от метода).


А как же они разрабатывают, если не знают ?


 
ferr ©   (2007-02-13 17:35) [185]

> не знают язык (к примеру чем отличается процедура или функция
> от метода).

Что значит чем отличается? С точки зрения программиста они ничем особо и не отличаются.. Понимать что неявно передаётся указатель по-поему достаточно.. А вот знать какими механизмами и с каким смещением оно передаётся по-моему вредно. ;-)


 
Psychedelic ©   (2007-02-13 19:37) [186]


> А как же они разрабатывают, если не знают ?


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


 
homm ©   (2007-02-13 21:57) [187]

> Всякое бывает, иногда и туда приходится залазить. Но у исходников
> dfm есть одно полезное свойство - они не исполняются и отладчиком
> точки останова там ставить не требуется, например.

И не стыдно Вам, Игорь, все с ног на голову переворачивать. :) Давайте я попробую за Вас...

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

Вот так мне нравится :) а то что Вы написал, извините лишено здравого смысла


 
Игорь Шевченко ©   (2007-02-13 22:52) [188]

homm ©   (13.02.07 21:57) [187]

А. Я понял. Создание контролов в KOL происходит динамически при создании формы, идею с DFM вы тоже похоронили ? :)
Воля ваша.

А про точки останова я почему говорил - неудобно их в .inc"ах расставлять.


 
Игорь Шевченко ©   (2007-02-13 22:55) [189]

Psychedelic ©   (13.02.07 19:37) [186]


> Догадайтесь сами, вы же умный.


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


 
Суслик ©   (2007-02-13 23:20) [190]

свои 5 коп.
1. я пишу в дельфи.
2. пишу без dfm
3. компоненты создаю кодом
4. на размер не обращаю внимания
5. большее всего забочусь о функционале, документированности и возможностях сопровождения.

хорошая программа - это нужная программа (с) я


 
vuk ©   (2007-02-14 00:35) [191]

to Psychedelic ©   (13.02.07 17:17) [183]:
>Большие проекты разрабатывают группами. Один чел никогда не будет его
>разрабатывать. Ну а здесь KOL неподходит - из-за того что многие >привыкли к VCL, да и так глубоко не знают язык (к примеру чем
>отличается процедура или функция от метода).

Смелое заявление. Очень смелое. У Вас самый большой проект в разработке какой был, если не секрет? Ну или хотя бы видели Вы в глаза хоть один большой проект?


 
Psychedelic ©   (2007-02-14 15:26) [192]


>  Ну или хотя бы видели Вы в глаза хоть один большой проект?


:)
Да, прикинь какой прорыв?
Вот например известные проекты, разных типов : Delphi, Photoshop, Frutyloops, QTP, Sandra, антивирусное ПО итд...

Один человек не потянет такие большие проекты.


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


Ага, в лужу сел . Аж два раза. :)
Мне просто стало не интересно с вами дискутировать, т.к. вы на протяжении всей дискусии не хотите соглашаться нисчем что идет с моей стороны, даже с абсолютно очевидными вещами. И разделили тему на ЭТО ПЛОХОЕ и не подходит мне, а ЭТО ХОРОШЕЕ т.к. подходит мне.
Здесь  сразу видна только субъективная точка зрения, причем абсолютно изолированная.  Ну и плюс вы полностью предсказуемы. Извините.
Когда человек заинтересован не в том, чтобы что-то понять, а только в том чтобы любыми средствами представить себя в выгодном свете (вы же мастер :)), то и пытаться объяснить ему что-либо бессмысленно.


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

Psychedelic ©   (14.02.07 15:26) [192]


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


Я же не заставляю, верно ?


 
Psychedelic ©   (2007-02-14 15:37) [194]


> А. Я понял. Создание контролов в KOL происходит динамически
> при создании формы, идею с DFM вы тоже похоронили ? :)
> Воля ваша.


Уже 5 лет знаете KOL ? :)
Видимо 5 лет назад вы услышали эту аббревиатуру. И помните ее до сих пор.
Как можно спорить с человеком если он даже не видел оспариваемый вопрос?


 
Psychedelic ©   (2007-02-14 15:40) [195]


> Как можно спорить с человеком если он даже не видел оспариваемый
> вопрос?


Перефразирую,- как можно спорить с человеком о преимуществах KOL, если он не знает что это такое?


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

Psychedelic ©   (14.02.07 15:40) [195]

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


 
Psychedelic ©   (2007-02-14 16:52) [197]


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


как я и говорил. Вы судите по нужным вам потребностям, а не объективно.
Зачем тогда спорили?


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

Psychedelic ©   (14.02.07 16:52) [197]

Ты спросил, занимаются ли разработчики KOL фигней. Я ответил на твой вопрос, да, занимаются, потому что практической пользы от этого никому, кроме них, нету.


 
Psychedelic ©   (2007-02-14 17:29) [199]


> потому что практической пользы от этого никому


Это только потому-что ВАМ негде это применить.
Т.к.

> я не занимаюсь созданием мелких утилит, для которых важен
>
>  размер.


 
Суслик ©   (2007-02-15 00:14) [200]

эх, блин, прямо как я молодой спорит. Молодец!

ЗЫ. Оффтоп, конечно, уж извините.



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

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

Наверх




Память: 0.85 MB
Время: 0.044 c
2-1171830497
Mr.Vlad
2007-02-18 23:28
2007.03.11
Проблема с компонентом GLScene


1-1169047638
alpha5
2007-01-17 18:27
2007.03.11
Область прокрутки у компонента TListView


15-1171294889
oldman
2007-02-12 18:41
2007.03.11
Онищенко в очередной раз призвал россиян бросить пить


15-1171353990
xayam
2007-02-13 11:06
2007.03.11
Правильное завершение программы


2-1171627392
Кевларвестов Семен
2007-02-16 15:03
2007.03.11
Запретить редактирование Word в TWebbrowser