> Библиотек в UNIX, как минимум, два типа. Один из них линкуется,
> другой нет.Неправильно. Библиотек у нас три вида: static library, shared object file и
dynamically loaded library. Если на Linux, BSD и Solaris
между so и dll разницы по сути нет, но в darwin разница вполне конкретная.
Не линкуемся мы только с dll, как и следует из абревиатуры.
Именно через dll и реализуются "расширения" к языкам программирования,
таким как Lua, Tcl, Pike и др. Подгружаются эти модули динамически во время
исполнения интерпретатора.
> Линковать с интерпретируемым кодом вряд ли возможно :-)
Запросто. В Lua, например, можно как прикрутить dll-модуль
к интерпретатору Lua, так и слинковать Lua-интерпретатор (liblua)
с программой на с/c++.
> Но использовать динамически подключаемые библиотеки запросто.
Я пока не вижу, как я могу это сделать в rexx-е.
> Это вообще
> свойственно для решений IBM - и под OS/2 на писюке, и
> на OS/390 на мэйнфрейме REXX работает одинаково по сути.
Одинаковый набор библиотек "из коробки" для rexx-а на всех
поддерживаемых ОС -- это чудесно, но я говорю о способах
_расширения_ этого базового функционала на моей конкретной оси.
Например regcomp/regexec.
http://netbsd.gw.com/cgi-bin/man-cgi?regcomp++NetBSD-current
Совершенно конкретный вопрос:
как мне сделать модуль для rexx-а, чтобы воспользоваться
regexec/regcomp на моей системе?
> На случай, если какого-то функционала нет в самой системе,
> реализовано огромное количество
> дополнительных библиотек специально для REXX - большие каталоги есть в Сети.
Можно URL на эти огромные каталоги библиотек?
Они open source? Или распространяются только для кастомеров IBM?
> Есть для него и графические библиотеки, с помощью которых несколькими
> строчками кода можно создавать окна с нужным функционалом.
gtk/tk/qt/motif? Можно урл на эти библиотеки?
> И в виндовозе, и в OS/2 Warp, кроме
> всего прочего, присутствуют DLL-ки, которые содержат какое-то количество доступных из
> вне функций. А вызывать эти функции можно как их сишных
> программ, так и из программ на REXX.
Чудесно, в UNIX-е их гораздо больше.
Но есть ли унифицированный для ВСЕХ реализаций rexx-а
способ реализации dll-расширений, используя эти самые системные
библиотеки? Url?
> Текстовый процессор тоже даёт большую часть своих функций наружу. Это может
> быть как виде функций из DDL, так и в виде COM,
> DCOM, OLE2 или других вариантах.
В UNIX-е не дает. Ни Emacs ни VI.
> В том-то как раз и суть REXX, его философия, если хотите -
> он как универсальный инструмент чуть ли не для любых задач.
> Как клей, который всегда под рукой.
У нас уже есть клей, даже два: shell и tcl.
Чем rexx лучше каждого из них?
> Он стандартный для всех
> осей IBM и используется там настолько широко, что очень многие программы,
> включая сторонние, пишут на нём инсталяторы. Даже многие конфигураторы базовой
> системы написаны на REXX. Реализацию REXX для винды не пробовал,
> но, зная политику IBM, уверен, что работает он на винде в
> родной среде от IBM точно так же, как и в других
> осях.
Это круто, но увы не актуально. OS/2 -- мертва, к сожалению.
Доступа к OS/400, IBM-390 и другим у меня, увы, нет и не предвидется.
Нет даже доступа на AIX.