Форум: "Прочее";
Текущий архив: 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