Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизУбить System.pas Найти похожие ветки
← →
RustiK (2004-08-17 10:07) [0]Привет всем!
Может мне кто подсказать как мне можко избавиться от модуля system.pas автоматически подключаемого к проекту при компиляции.
Если просто из uses убрать не прокатит, в других модуля он прописан. В тот же Forms он присутствует. Т.е. если я подключаю хоть один модуль, в котором хоть в одном зависимом модуле прописан system.pas, то хошь нихошь он опять таки липнет к проекту при компиляции. Как мне от него избавиться?
← →
Iconka © (2004-08-17 10:08) [1]Зачем?
← →
Digitman © (2004-08-17 10:11) [2]
> RustiK (17.08.04 10:07)
чем тебе так насолил этот модуль ?
← →
RustiK (2004-08-17 10:11) [3]
> Зачем?
Уменьшить EXE-шник !!!
← →
Гаврила © (2004-08-17 10:11) [4]Никак
← →
Rem (2004-08-17 10:14) [5]Правильно! А еще, в целях оптимизации, давайте отрубим Рустику руки и ноги, чтобы он меньше весил! А можно и голову...
← →
Digitman © (2004-08-17 10:14) [6]
> RustiK (17.08.04 10:11) [3]
> Уменьшить EXE-шник !!!
20..30 кб - это разве размер ?! ...
← →
имя (2004-08-17 10:14) [7]Удалено модератором
← →
RustiK (2004-08-17 10:15) [8]Тут хоть раз могут нормально ответить по существу, без выпендрежа?
Ну может чем заменить? Хотя не раз слышал, что как-то можно его не использовать вообще.
← →
Digitman © (2004-08-17 10:16) [9]
> RustiK (17.08.04 10:15) [8]
ты GetMem пользуешь явно или неявно ? с типом string работаешь ?
← →
RustiK (2004-08-17 10:20) [10]
> gigabyte.iatp.org.ua (17.08.04 10:14) [7]
> Чтоб уменьшить екзешник, лучше эти самые Forms и Classes
> убери и пиши на WinAPI
Чесно говоря я и так на WinAPI пишу (не давно начал), но остается одно "но".
Не все можно быстро и качественно написать на WinAPI.
> 20..30 кб - это разве размер ?! ...
Кто-то на этом форуме кричал, кто не помню, что отказываясь от system.pas можно сэкономить ~200 кило.
> ты GetMem пользуешь явно или неявно ? с типом string работаешь
> ?
и что?
← →
Digitman © (2004-08-17 10:22) [11]
> Кто-то на этом форуме кричал, кто не помню, что отказываясь
> от system.pas можно сэкономить ~200 кило.
глупости это
> и что?
а то что менеджер памяти, распределяющий память приложения при работе хотя бы с тем же string, реализован именно в system
← →
VMcL © (2004-08-17 10:23) [12]>>RustiK (17.08.04 10:11) [3]
Стараться написать супермаленький экзешник на Delphi - это третье извращение после футбола на льду и хоккея на воде, потому что Delphi для этого не предназначен. Хочешь супермаленький экзешник - пиши на чистом ассемблере.
← →
Dyn`alt © (2004-08-17 10:25) [13]Переходи на KOL&MCK: компактность кода + визуальность
← →
RustiK (2004-08-17 10:26) [14]
>
> а то что менеджер памяти, распределяющий память приложения
> при работе хотя бы с тем же string, реализован именно в
> system
Разве нельзя вырезать тот кусок кода из system и засунуть в свой проект?
← →
Digitman © (2004-08-17 10:28) [15]
> RustiK (17.08.04 10:26) [14]
а попробуй-ка вырежь !
и это только мизер (но один из самых важных) в функциональности модуля, которой ты так или иначе пользуешься, сам того не ведая ... так что ох как много "вырезать" придется !
← →
Iconka © (2004-08-17 10:29) [16]
> Разве нельзя вырезать тот кусок кода из system и засунуть
> в свой проект?
Действуй!
← →
Erik1 (2004-08-17 10:29) [17]To RustiK
Ну ты и дурак, тебе говорят ненадо значить ненадо! А размер ты практически неуменьшиш, потому, что из system включается только то, что используется. Это значить ты сможеш добится экономии в 10Kb. А это полный бред и нечего с этим лезть на форум по Delphi. Перебирайся на ASM и их форум, возможно там этот вопрос будет уместен.
← →
RustiK (2004-08-17 10:30) [18]
> а попробуй-ка вырежь !
Ну хорошо допустим избавиться от него нельзя.
Ну заметить то чем-нибудь можно же.
← →
Digitman © (2004-08-17 10:34) [19]
> RustiK (17.08.04 10:30) [18]
тебе ж говорят - не занимайся дурью !
ибо если ты со string работаешь, то тебе не только system, но и sysutils придется "кромсать"/"менять" ... ты попросту заработаешь себе геморрой, неизвестно ради чего)
← →
RustiK (2004-08-17 10:35) [20]
> Erik1
Сам ты дурак, и уши у тебя кривые. Прежде чем залеть на этот форум почитай правило о вежливости.
И гон все это чистой воды, что подключается только то, что используешь. Если ты хоть одну функцию хоть из одного 10 мегабайтного модуля используешь то он весь и компилиться всместе с твоим проектом
← →
RustiK (2004-08-17 10:37) [21]Злые вы все, уйду я от вас..... :((((
← →
sergch (2004-08-17 10:37) [22]Необходимо использовать ассемблерные вставки.
← →
Digitman © (2004-08-17 10:39) [23]да куда ты денешься)
← →
Digitman © (2004-08-17 10:41) [24]
> RustiK (17.08.04 10:37) [21]
злые мы, видите ли ..
у тебя блажь в голове, а мы злые ... потому что прямо говорим тебе об этом ... и отнюдь не без аргументов ...
← →
RustiK (2004-08-17 10:43) [25]
> Digitman © (17.08.04 10:39) [23]
> да куда ты денешься)
Эээээх... ваша правда, все равно вернусь...
Не жить вам без нас простых пользователей, ламеров программеров и просто участников форума... ;)
← →
RustiK (2004-08-17 10:48) [26]Вот нашел посмотрите что пишут...
http://doc.trecom.tomsk.su/Delphi/Borland_Delphi_40_Developers_guide/www.user.cityline.ru/~vlelenaf/delphi/a473.htm
← →
REA © (2004-08-17 10:49) [27]Да ладно - чего наехали на человека. Я в свое время classes уродовал и довольно успешно. Пусть себе развлекается.
← →
Digitman © (2004-08-17 10:54) [28]
> Вот нашел посмотрите что пишут
ну правильно ! тебе там и пишут, что тебе следует удалить несущественное/неиспользуемое из system и перекомпилировать его ... только вот незадача : ты сам-то знаешь , что тебе удалять нужно оттуда ?
← →
RustiK (2004-08-17 10:55) [29]
> ты сам-то знаешь , что тебе удалять нужно оттуда ?
Ну подскажи если не трудно
← →
Digitman © (2004-08-17 10:57) [30]
> RustiK (17.08.04 10:55) [29]
чудак человек !)
это ж напрямую зависит от того, что ты планируешь наворотить в своей программе !
← →
RustiK (2004-08-17 10:57) [31]с учетом того что не собираюсь использовать никаких inttostr и все такое
← →
Рамиль © (2004-08-17 10:57) [32]
> ты сам-то знаешь , что тебе удалять нужно оттуда ?
Так ему же весь надо было удалить. Пусть оставитunit System;
interface
implementation
end.
И компилит на здоровье
← →
RustiK (2004-08-17 10:58) [33]Эх ладно щя по моему наличности переходит будем, лучше закрыть эту ветку.
ВСЕМ ПОКА, ВСЕМ СПАСИБО!
← →
Рамиль © (2004-08-17 10:58) [34]
> с учетом того что не собираюсь использовать никаких inttostr
> и все такое
IntToStr, между прочим, описана в SysUtils
← →
RustiK (2004-08-17 11:00) [35]Мужики только по голове не бейте...
У меня по моему ошибка в вопросе была :)))))))))
← →
Digitman © (2004-08-17 11:02) [36]
> RustiK
угу ... чайником бы тебя по макушке) ... чтобы не путал sysutils с system)
← →
Anatoly Podgoretsky © (2004-08-17 11:05) [37]Единственный метод "удалить" system это все оттуда убрать, он останется, но будет пустым. То что у тебя не будет работать к делу не относится, ты же хотел избавиться.
← →
Юрий Зотов © (2004-08-17 11:18) [38]> RustiK (17.08.04 10:20) [10]
> Кто-то на этом форуме кричал, кто не помню, что отказываясь от
> system.pas можно сэкономить ~200 кило.
На этом, и на других форумах произносится немало глупостей. В том числе и упомянутая Вами. Не нужно верить всему подряд. Мало ли, кто чего ляпнет, по безграмотности и дури своей, или просто в шутку?
Доказать? Пожалуйста. Экзешник вот такой пустой программы:
program Project1;
begin
end.
будет весить примерно 15 кило, несмотря на подключенный модуль System. О какой же экономии в 200 Кб может тогда идти речь?
Далее - эти 15 кило тоже не принадлежат одному лишь модулю System, еще они уходят на различные служебные дела (формат PE-файла, код загрузки системных библиотек и пр.). А из модуля System здесь подключается только необходимый служебный код, который используется всегда, даже и в пустом проекте
Далее. Вот Вы говорите что пишете на чистом API. ОК. Напишите на чистом API программу, которая просто показывает пустое окно - увидите, что она тоже весит примерно 15 кило. И тоже несмотря на подключенный модуль System. Мы видим, что по сравнению с пустым проектом размер программы практически не изменился. Значит, делаем вывод: написание программ на чистом API - вот это и есть то, что нам и нужно, если мы хотим бороться за малый размер.
И это так и есть. Потому что, сколько бы функций API мы не вызывали, код системных библиотек, где они сидят, все равно один, и в наш EXE он не входит. Входить в EXE будет только написанный НАМИ код, размер которого получится очень малым (реально - несколько десятков Кб, вряд ли более).
> RustiK (17.08.04 10:35) [20]
> И гон все это чистой воды, что подключается только то, что
> используешь. Если ты хоть одну функцию хоть из одного 10
> мегабайтного модуля используешь то он весь и компилиться
> всместе с твоим проектом
Ну я же говорил - на этом, и на других форумах произносится немало глупостей. Зачем же еще увеличивать их количество?
← →
Anatoly Podgoretsky © (2004-08-17 11:32) [39]Потом кто то другой будет ссылаться на эту глупость. :-)
← →
RustiK (2004-08-17 11:41) [40]Спасибо за разъяснительный ответ.
Как я и говорил что я ошибся в названии файла. Мне нужно избавиться от SysUtils.pas. Возможно ли вообще от него избавиться или урезать или заменить?
Страницы: 1 2 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.03 c