Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прикол от Taddy :)


AndreyRus ©   (2006-10-13 12:24:00) 

{$INLINE OFF}
{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}
{$SetPEFlags IMAGE_FILE_AGGRESIVE_WS_TRIM}

Сдается мне, что он забыл указать, что это только для компилятора - FreePascal. :)


Yury Sidorov   (2006-10-15 13:27:00) [1]

То же самое можно сделать, вставив в начало программы вызов следующей процедуры:


procedure TrimWS;
var
 _SetProcessWorkingSetSize: function (hProcess: THandle; dwMinimumWorkingSetSize, dwMaximumWorkingSetSize: DWORD): BOOL; stdcall;
 hLib: THandle;
begin
 hLib:=LoadLibrary('kernel32.dll');
 if hLib <> 0 then begin
   _SetProcessWorkingSetSize:=GetProcAddress(hLib, 'SetProcessWorkingSetSize');
   if Assigned(_SetProcessWorkingSetSize) then
     _SetProcessWorkingSetSize(GetCurrentProcess, DWORD(-1), DWORD(-1));
   FreeLibrary(hLib);
 end;
end;


Vladimir Kladov   (2006-10-15 09:56:00) [2]

я так и понял что речь о 2006 а не 6.


MTsv DN   (2006-10-14 19:16:00) [3]

Хм... Я потестил... В D7 тоже работает, только вот уменьшения размера не заметил...


MTsv DN   (2006-10-14 19:03:00) [4]


> No, this post is not about so-called EXE-compressors - I
> don't believe in using them. And it is not a pure hack in
> the sense that we're breaking any rules - its just about
> documenting an undocumented and unknown feature of the Delphi
> 2006 Win32 compiler (it is not implemented in D7 - I don't
> know about D2005 yet as I don't have it installed on this
> laptop anymore).

Взято отсюда: http://hallvards.blogspot.com/2006/09/hack12-create-smaller-exe-files.html


Vladimir Kladov   (2006-10-14 18:47:00) [5]

а вы эту опцию вообще куда всовывали? У меня и D7 и D6 не признают этот символ, говорят, ошибка. И в справке нет ничего про такой символ.


D[u]fa   (2006-10-14 18:05:00) [6]

угу, тоже проверял, думал как это юзать в итоге тот же самый ехе %)


AndreyRus   (2006-10-14 15:52:00) [7]

Забыл. Для компиляции исользовался Delphi 7.0


AndreyRus   (2006-10-14 15:51:00) [8]

Taddy <> Thaddy. Sorry.
Файл откомпилированный с этими условными директивами бинарно не отличается от откомпилированого без них.


Thaddy   (2006-10-13 14:49:00) [9]

No, only for Delphi 6 or higher :-) inline off is for D2006
{$IFDEF VER180}
{$INLINE OFF} // is acually done for you in delphidef.inc
{$ENDIF}
{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}
{$SetPEFlags IMAGE_FILE_AGGRESIVE_WS_TRIM}


Наверх

Титульная страница Поиск, карта сайта Написать письмо