Добро пожаловать, гость ( Вход | Регистрация )
| Grom PE |
Nov 7 2007, 01:15
Сообщение
#1
|
![]() Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 84 Регистрация: 7-February 08 Из: i@grompe.org.ru Пользователь №: 3,120 Спасибо сказали: 95 раз(а) |
Как говорится, писал для себя, но думаю, пригодится и другим.
Если у вас чистый проект на Delphi, в котором используется только WinAPI, и по минимуму всяких встроенных функций языка, то большой шанс, что программу можно сократить примерно на 10 кб, используя эту замену системных модулей. Пропатченный компилятор от Delphi 7 — DCC32HACK, нацеленный на минимальный размер WinAPI программ, а также обновленная замена системных модулей внутри. http://grompe.org.ru/files/dcc7hack.rar |
![]() ![]() |
| -=CHE@TER=- |
May 3 2010, 10:08
Сообщение
#2
|
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,401 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 323 раз(а) |
Вопрос - чем можно воспользоваться в Delphi для увеличения длины строки до нужного размера?
Если писать так: CODE SetLength(S, Len); То при использовании DCC32HACK в готовый код пихается куча всякого барохла, в частности строчка имени программы указанная в: CODE Program PrgName; Т.е. в исполняемый файл зачем-то пихается строчка "PRGNAME", если не писать "Program...", то на месте "PRGNAME" будет слово "PROGRAM". Зачем это делается - знают только в фирме Borland. Если использовать: CODE S:=#32; While Length(S) < Len Do S:=S + S[1]; То это долго. Можно конечно и так: CODE S:=#32; While Length(S) < Len Do S:=S + S; S:=Copy(S, 1, Len); Но при большом Len это будет занимать в два раза больше чем надо памяти на финальном шаге - как следствие жуткие тормоза при реаллоцировании. Есть какие-нибудь ещё способы удобные? Для тех случаев, когда нужна именно строка - когда нужен просто буфер, то там и GetMem()'ом обойтись можно... Или тогда вопрос к Grom PE ты можешь в DCC32HACK как-нибудь перехватить работу с SetLength()?.. Спасибо сказали:
|
Grom PE Замена системных модулей для Delphi Nov 7 2007, 01:15
Grom PE Обновление:
— замена протестирована на Delphi 4, 5... Mar 6 2008, 08:42
-=CHE@TER=- С заголовками функций GetDiskFreeSpaceEx в "W... Feb 15 2010, 16:28
Grom PE Или тогда вопрос к Grom PE ты можешь в DCC32HACK к... May 6 2010, 02:16
Grom PE Набрёл на Embarcadero RAD Studio XE2 with Update 4... Mar 23 2012, 20:45
-=CHE@TER=- Стоящее дело?О-о-о!.. Сколько там свистелок и ... Mar 24 2012, 12:16
Grom PE Пустая VCL форма теперь 1 307 136 байт.
EXE-шники ... Mar 24 2012, 15:47
-=CHE@TER=- Нафиг тогда такого монстра.
А можешь конкретный т... Mar 24 2012, 18:59
Grom PE Так нас же VCL не интересует, а совершенно голый п... Mar 24 2012, 20:13![]() ![]() |
| Упрощённая версия | Сейчас: 2nd December 2025 - 00:45 |