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

Вниз

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

Наверх




Память: 0.84 MB
Время: 0.067 c
15-1171297066
vasIZmax
2007-02-12 19:17
2007.03.11
Что же ты делаешь-то...<censor> или "Божья рука"?


15-1171279411
boriskb
2007-02-12 14:23
2007.03.11
У нас таких нет?


15-1171214336
Веталь
2007-02-11 20:18
2007.03.11
А драйвера полностью грузятся в память?


2-1171730363
FIL-23
2007-02-17 19:39
2007.03.11
как использовать переменные из других unit ов (form)


2-1171877260
john_mag
2007-02-19 12:27
2007.03.11
компонент TMenu





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский