Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

размер dll

257
16 августа 2006 года
kosfiz
1.6K / / 18.09.2005
Вообщем написал dll в uses только windows.pas. Содержит всего одну процедуру, а размер на выходе 17 KB. Подскажите можно ли как нибудь уменьшить размер. Пакеры не предлагать. Заранее спасибо.
10
16 августа 2006 года
Freeman
3.2K / / 06.03.2004
[QUOTE=kosfiz]Подскажите можно ли как нибудь уменьшить размер.[/QUOTE]
Магия данного типа дается только тем, кто занимается спортом (ее улучшением).

Для начала врубается Project Options - Linker - Map file - Publics. Вдумчиво курится дока до нирваны полного понимания происходящего. Потом ищется волшебная мана на сайте KOL. Понимание масштаба задачи происходит с одновременным принятием n-ного числа литров пива. Затем начинается обряд посвещения в Маги Оптимизации. Только самые стойкие доходят до конца...
5
17 августа 2006 года
hardcase
4.5K / / 09.08.2005
Тебе жалко 17Кб!?
Ну тогда бы написал собственный экспорт из kernel'а или чего у тебя прога использует.
Ещё бы неплохо отрубить директиву {$APPTYPE CONSOLE}.
Но всё равно испльзуя делфи ты врядли получишь экзешник меньше 16К - runtime-библиотеки паскаля (ReadLn, WriteLn и иже сними) по прежнему будут включаться в код.
257
17 августа 2006 года
kosfiz
1.6K / / 18.09.2005
Однако, размер библы уменьшил до 11,5 KB. А насчет экзе так размер можно умудриться уменьшить и до 1KB - естесственно что прога будет небольшая.
5
18 августа 2006 года
hardcase
4.5K / / 09.08.2005
Так я и имел в виду, что в делфи меньше 12К экзе не сделать.
Да это и не нужно. Тебе ведь не demo-сцены делать на ней.
20K
23 августа 2006 года
Жорж
3 / / 21.08.2006
[QUOTE=kosfiz]Вообщем написал dll в uses только windows.pas. Содержит всего одну процедуру, а размер на выходе 17 KB. Подскажите можно ли как нибудь уменьшить размер. Пакеры не предлагать. Заранее спасибо.[/QUOTE]

Если ты пишешь на WinApi, то лучше напиши на VC++(визуально разницы не будет), а в настройках линковщика укажи Use MFC in a Shared DLL.

А на Делфи LoadLibrary(), ведь Windows.dcu включает в себя kernel32,User32,GUI... Лоадь что тебе нужно напрямую.
257
23 августа 2006 года
kosfiz
1.6K / / 18.09.2005
А я Delphi люблю. К тому же отказался от windows.pas и в uses'ах нет ничего, а размер все равно 11,5KB.
10
23 августа 2006 года
Freeman
3.2K / / 06.03.2004
[QUOTE=kosfiz]А я Delphi люблю. К тому же отказался от windows.pas и в uses'ах нет ничего, а размер все равно 11,5KB.[/QUOTE]
Для начала убери {$R *.res}, если есть. Правда, иконка приложения гикнется.
5
23 августа 2006 года
hardcase
4.5K / / 09.08.2005
Использую BDS2006. (dcc32 версии 18.0)
Код библиотеки:
Код:
library stub;

function SumInts(A, B: integer): Integer; stdcall;
begin
  SumInts:=A + B
end;

exports
  SumInts;
 
begin
end.

настройки компилера - отрубил отладочную инфу. оптимизация стоит.
размер stub.dll составил 17.0 KB (17 408 bytes)

Код экзешника:
Код:
program stubprog;

{$APPTYPE CONSOLE}

function SumInts(A,B: integer): integer; stdcall;
    external 'stub.dll';

var A,B: integer;
begin
  ReadLn(A,B);
  WriteLn(SumInts(A,B));
  ReadLn;
end.

Настройки компилера аналогичные, размер файла - 19.0 KB (19 456 bytes)


думаю, если использовать младшую версию dcc32, что-то около 10 или 11, то можно получить чуток меньше размеры, т.к. в то время system.pas и иже с ним были потоньше.
257
23 августа 2006 года
kosfiz
1.6K / / 18.09.2005
[QUOTE=Freeman]Для начала убери {$R *.res}, если есть. Правда, иконка приложения гикнется.[/QUOTE]
У меня же библа - какая там иконка.

hardcase
Вот поэтому я и просил dcc32 от Delphi 3.

Да и еще. В dll можно же формы включать и соответственно размер где-то порядка 300KB. У меня вопрос: можно ли использовать DialogBoxParam и вызывать готовый диалог из ресурсов? Так наверное библа меньше весить будет? И может кто-нибудь знает как это сделать, а то у меня, диалог не создается?
257
23 августа 2006 года
kosfiz
1.6K / / 18.09.2005
Посмотрел, конечно, но это я и так уже знаю - объяснили, а как насчет диалога из ресурсов.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог