Навіщо компілятор включає в exe-файл програми, що компілюється
. назви процедур та функцій, що належать до класу форми, картинки, які взагалі ніде не використовуються, назви використаних модулів; курсор якийсь із написом "SQL" (коли в програмі ніякого SQL і близько немає), текстові шаблони помилок, які взагалі не можуть виникнути у моїй програмі; назви днів тижня, місяців англійською?! Та ще й форми у вигляді ресурсів і в такому нераціональному вигляді? І так програми, як на мене, немаленькі. Навіщо збільшувати розмір програми?
На всякий випадок.
Звідки знаєш, що не використовуються?
> Звідки ти знаєш, що не використовується?
Ну, наприклад, помилки типу "проблеми з MDI-вікном" - у моїй програмі таких вікон немає.
Назви днів тижня та місяців - навіщо вони мені потрібні? Картинки: галочка, хрестик і т. п. у двох варіантах. У мене свої.
> На всякий випадок.Ну тоді й вихідник заархівувати та включити в exe теж можна було б. :)
Ти відповідаєш за всю програму або лише за її маленький шматок, без бібліотек Борланда?
Насправді компілятор просто не знає, що твоїй прозі треба з бібліотеки, а що ні - ось і запихає все, що ти прописав у uses> > На всякий випадок.
> Ти відповідаєш за всю програму або тільки за її маленький шматок, > без бібліотек Борланду?
Я відповідаю, звичайно, за те, що писав сам. А Бордланд - за бібліотеки! Цікаво бібліотеки побудовані: що потрібно, і що непотрібно - все до купи!
Якщо не подобаються зайві кілограми – пиши на KOL або на Сі переходь.
Для того щоб зрозуміти, що щось у твоїй програмі не використовується, треба застосувати аналіз вихідного коду. А це не завжди легко.
Не лише його коду, а йБорландовського та інших виробників бібліотек.
> Може, автор "Hello World частина III" пише, а Дельфя йому > exeшник на півмега видає.
З HelloWorld простіше було:) Розібрався вже.
Ну, можливо, потім на WinApi перепишу. Лише час шкода.
> Ну, можливо, потім на WinApi перепишу. Тільки час шкода. > >Ось і відповідь на сабж! :)
> шаблони помилок, які взагалі не можуть виникнути в моїй > програмі;LOL
Написали ми тут проект, на Eclipse. Ну так ось: складання RCP займає 35 метрів дискового простору, а при роботі їсть неміряну пам'ять. Та ще й пригальмовує. І вимагає, природно, JRE, причому в опціях запуску прописано – відразу виділити під хіп 512 метрів, а потім за потребою ще й додавати. Інакше падає ця сама JRE, разом із проектиком.
Прикинув я тут - аналогічний проект на Delphi скупився б у екземничок метра десь на 3-4, не більше. І ніяких JRE йому не треба, і жодних проблем із пожиранням пам'яті теж не було б. І гальм не було б також.
Це до питання про "хвалений компілятор Delphi". Може, не такий він і поганий, га?
Принаймні Eclipse в порівнянні з ним. е-е-е. як би це м'якше висловитися. ну, скажімо – відпочиває. За всіма параметрами.
Юрію, а чому ви перейшли від Delphi до Eclipse?
У вас було, наскільки мені відомо, багато якісних доробків для Delphi.
з чистої цікавості, ви говорите про віртуальну машину чи середовище розробки?
Так склалось. Та й цікаво було помацати ці новомодні штучки. Але Delphi не закинув.
Я неточно висловився. Не тільки Eclipse, звичайно, а взагалі все, що забезпечує складання та подальшу роботу RCP-програми. Оскільки в порівнянні з Delphi воно виходить дуже ресурсомістким.
Проектику, кажете? Хххех. (с) товариш Сухов з "БСП" Може ruki.sys?
> > > Прикинув я тут - аналогічний проект на Delphi скупився > б у екземничок метра десь на 3-4, не більше. І жодних > JRE йому не треба, і жодних проблем із пожиранням пам'яті теж > не було б. І гальм не було б також.
Але йому потрібна лише Windows або. WINE. Ж)
> > Це до питання про "хвалений компілятор Delphi". Можливо, не > такий уже він і поганий, га?
Delphi-компілятор - відмінний. Мені більше подобається, ніж GCC. Головне – швидкий, як javac! ;)
> > Принаймні Eclipse в порівнянні з ним. е-е-е. > як би це м'якше висловитися. ну, скажімо – відпочиває. > За всіма параметрами.
Ну, не по всіх. Визнайте вже чесно. ;) Рефакторингу в Delphi немає. А що є – це не рефакторинг, а пошук/заміна.
> Це все тому, що хвалений компілятор Delphi не може > викинути з результуючого EXE (PE)-файлу > процедури та функції, що входять до бібліотечних модулів. І чого > тільки не зустрінеш у бібліотечних модулях, навіть те, що > не належить до рантайму. Ж)А звідки зроблено висновок, що вони не використовуються? І чи може той самий висновок зробити однопрохідний (і взагалі звичайно прохідний) компілятор?
Тим більше що йшлося про ресурси, а як відомо, ця проблема взагалі рішення не має, скільки б проходів не мав компілятор.
> А що є - це не рефакторинг, а пошук/заміна.Тобто Extract Interface наприклад - це пошук/заміна, що ж тоді справжній «рафакторинг»?
> Рефакторингу в Delphiні.І незабудьте про генерацію патернів, і моделювання.