В письме от Mon, 17 Oct 2011 17:32:58 +0400, Vsevolod
<[email protected]> сообщал:
Для сервера :
linux-gate.so.1 => (0xb77a1000)
libfbembed.so.2.5 => /opt/firebird/lib/libfbembed.so.2.5 (0xb728d000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7284000)
libncurses.so.5 => /lib/libncurses.so.5 (0xb724b000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7155000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb712f000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7110000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb70f7000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb6f9c000)
libicuuc.so.30 => /opt/firebird/lib/libicuuc.so.30 (0xb6edd000)
libicudata.so.30 => /opt/firebird/lib/libicudata.so.30 (0xb6d60000)
libicui18n.so.30 => /opt/firebird/lib/libicui18n.so.30 (0xb6ce1000)
/lib/ld-linux.so.2 (0xb77a2000)
странно, что не вижу ссылки на ib_util.dll
или она подгружается динамичечски только при загрузке UDF ???
http://www.ibase.ru/ibfaq.htm#msvcr7
Для удф :
statically linked
и вот это менч напрягает.
представь, что ты делаешь программу с плагинами, и сама программа у тебя
собрана с BPL (USe Runtime Packages), а плагин - статичен. В результате у
тебя внутри программы будет два разных типа TObject и соответственно всех
последующих классов тоже по два.
Сразу отваливаются операторы as и is и вообще хрен знает что происходит.
В принципе, конечно, взаимодействие FB <-> UDF должно быть примитивным и
не влиять... но хрен его знает, как поведут себя две инициализации двух
копий libc
мне интуитивно не нравится
впрочем, у Владимира все собрано динамически, библиотеки кажется
совпадают, а результат тот же...
Текст "мощной" удф :
library test ;
uses
linux;
Function test : Integer ; cdecl ; export ;
Begin
Result := 400 ;
End ;
Exports test name 'test' ;
begin
end.
вот если бы FPC могу выдать "плоский" текст, со всеми модулями
подклеенными...
Где-то выгрузка программы не срабатывает...
может какого мьютекса ждёт или ещё чего...
Такая примитивная UDF-ка не выдаёт такое же "usr/bin/ld: warning:
/opt/firebird/UDF/link.res contains output section; did you forget -T?" ?
А если эту примитивную UDF-ку в GNU Pascal ? И сделать аналог на GCC для
очистки совести ?
PS. GCC... при всей моей не любви к C/C++...
RIP mr. Ritchie
--
Написано в почтовом клиенте браузера Opera: http://www.opera.com/mail/