http://forum.oberoncore.ru/viewtopic.php?f=1&p=43647:
> -- AVC писал(а):
> Пример из документации ББ ("Platform-Specific Issues (Windows)").

Это одно из возможных решений задачи использования DLL в программах на КП, которое использовано в Блэкбокс.

На мой взгляд это решение несёт в себе очевидный недостаток: необходимость написания интерфейсных модулей для каждой библиотеки, которую мы хотим использовать.

А что если рассмотреть другое решение (пока теоретически).
Цель интерфейсных модулей: привести Си-шные типы в соответствии с КП-шными. Но "если гора не идёт к Магомеду ..." Что нам мешает ввести ещё один псевдомодуль, который будет "понимать" Си-шные типы. Разумеется использование этого модуля будет ограничено: только там, где требуются вызовы из DLL. По идеологии Блэкбокс такие вызовы - это весьма специфическое действо. По идее они должны встречаться только в подсистемах Host, Dev и в модуле Kernel.

И то, и другое решение требует соответствующей поддержки со стороны компилятора. Но во втором случае, не требуется писать километры интерфейсных модулей, которые к тому же не блещут алгоритмическими изысками.

Можно ещё рассмотреть и третье решение: создать утилиту, которая будет автоматически генерить интерфейсные модули по входному DLL-файлу.

Всё сказанное выше - не более, чем мысли вслух. Прошу не судить строго. Возможно, я что-то упускаю из виду.