Библиотеки в Lazarus
Модератор: Модераторы
Библиотеки в Lazarus
Разбираюсь в вопросе создания библиотек в Lazarus (http://www.homepg.ru/index.php?option=com_content&task=view&id=24&Itemid=38). С Windows все понятно, DLL, а вот как дела обстоят в Linux??? Будет ли мой проект DLL библиотеки нормально собираться в so в linux????
На мой взгляд здесь все нормально. Естественно, что если библиотека написана и используется только одной программой, то о уменьшении размера говорить нельзя, но ведь есть и "раскрученные" библиотеки, которые можно использовать.
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
Код: Выделить всё
ppc386 MyDLL.lpr
Free Pascal Compiler version 2.2.2 [2008/10/25] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Linux for i386
Compiling MyDLL.lpr
Linking libMyDLL.so
25 lines compiled, 0.4 sec
ls -li libMyDLL.so
131786 -rwxr-xr-x 1 attid attid 502191 2009-04-04 11:32 libMyDLL.so
собирается
Блин, это реально круто! Чем больше узнаю Lazarus, тем больше он мне нравится.
Ужас! Я имею в виду размер библиотеки.
Бегло прошелся по исходнику.
1. Вопрос - а на фига заюзана Classes в секции uses?
2. Выкинуть {$R *.res}
Ждем ответов о размере получившейся библиотеки.
PS. uses SysUtils - тоже на улицу.
Добавлено спустя 18 минут 16 секунд:
Так. в винде я уложился в 29 524 байта.
PS. В настройках выкинуть отладочную инфу и зарелизить библиотеку
Добавлено спустя 6 минут 28 секунд:
Это возможно, когда DLL подключаешь динамически. Тогда да, в большей степени.
IMHO, динамическое подключение библиотеки дает гораздо большую свободу действий. Там хотя бы можно обработать случай, если библиотека не найдена.
А в случае со статической линковкой - все, привет, если библиотека не найдена.
131786 -rwxr-xr-x 1 attid attid 502191 2009-04-04 11:32 libMyDLL.so
Бегло прошелся по исходнику.
1. Вопрос - а на фига заюзана Classes в секции uses?
2. Выкинуть {$R *.res}
Ждем ответов о размере получившейся библиотеки.
PS. uses SysUtils - тоже на улицу.
Добавлено спустя 18 минут 16 секунд:
Так. в винде я уложился в 29 524 байта.
PS. В настройках выкинуть отладочную инфу и зарелизить библиотеку
Добавлено спустя 6 минут 28 секунд:
Использование DLL позволяет уменьшить размер приложения.
Это возможно, когда DLL подключаешь динамически. Тогда да, в большей степени.
IMHO, динамическое подключение библиотеки дает гораздо большую свободу действий. Там хотя бы можно обработать случай, если библиотека не найдена.
А в случае со статической линковкой - все, привет, если библиотека не найдена.
