Библиотеки в Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Библиотеки в Lazarus

Сообщение aRix » 03.04.2009 12:44:48

Разбираюсь в вопросе создания библиотек в Lazarus (http://www.homepg.ru/index.php?option=com_content&task=view&id=24&Itemid=38). С Windows все понятно, DLL, а вот как дела обстоят в Linux??? Будет ли мой проект DLL библиотеки нормально собираться в so в linux????
Аватара пользователя
aRix
новенький
 
Сообщения: 26
Зарегистрирован: 05.04.2007 17:16:33

Re: Библиотеки в Lazarus

Сообщение Attid » 03.04.2009 17:11:48

Использование DLL позволяет уменьшить размер приложения.

не уверен в правельности этого выражения.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Библиотеки в Lazarus

Сообщение aRix » 03.04.2009 22:12:55

На мой взгляд здесь все нормально. Естественно, что если библиотека написана и используется только одной программой, то о уменьшении размера говорить нельзя, но ведь есть и "раскрученные" библиотеки, которые можно использовать.
Аватара пользователя
aRix
новенький
 
Сообщения: 26
Зарегистрирован: 05.04.2007 17:16:33

Re: Библиотеки в Lazarus

Сообщение Attid » 04.04.2009 11:33:41

Код: Выделить всё
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



собирается
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Библиотеки в Lazarus

Сообщение aRix » 04.04.2009 16:05:10

Блин, это реально круто! Чем больше узнаю Lazarus, тем больше он мне нравится.
Аватара пользователя
aRix
новенький
 
Сообщения: 26
Зарегистрирован: 05.04.2007 17:16:33

Re: Библиотеки в Lazarus

Сообщение GrayEddy » 04.04.2009 18:58:20

Ужас! Я имею в виду размер библиотеки.
131786 -rwxr-xr-x 1 attid attid 502191 2009-04-04 11:32 libMyDLL.so


Бегло прошелся по исходнику.
1. Вопрос - а на фига заюзана Classes в секции uses?
2. Выкинуть {$R *.res}

Ждем ответов о размере получившейся библиотеки. :D

PS. uses SysUtils - тоже на улицу. :D

Добавлено спустя 18 минут 16 секунд:
Так. в винде я уложился в 29 524 байта.

PS. В настройках выкинуть отладочную инфу и зарелизить библиотеку

Добавлено спустя 6 минут 28 секунд:
Использование DLL позволяет уменьшить размер приложения.

Это возможно, когда DLL подключаешь динамически. Тогда да, в большей степени.
IMHO, динамическое подключение библиотеки дает гораздо большую свободу действий. Там хотя бы можно обработать случай, если библиотека не найдена.
А в случае со статической линковкой - все, привет, если библиотека не найдена.
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 30

Рейтинг@Mail.ru