Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
11-1080022515
Solik
2004-03-23 09:15
2004.09.05
Глюк-с в массивах


3-1092231824
Bless
2004-08-11 17:43
2004.09.05
Как получить запись, соответсвующую максимальному значению поля


14-1092802196
Родитель
2004-08-18 08:09
2004.09.05
в чем прикол-то?


14-1092497140
Vasya.ru
2004-08-14 19:25
2004.09.05
комп самопроизвольно включается


14-1091694977
Baks
2004-08-05 12:36
2004.09.05
Помогите найти прогу...





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