Кроссплатформенные межмодульные вызовы

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

Ответить
Bonart
новенький
Сообщения: 81
Зарегистрирован: 29.06.2007 11:47:40

Кроссплатформенные межмодульные вызовы

Сообщение Bonart »

Есть такая задумка - сделать модульный движок, который можно собирать на Win32 и Linux в FPC.
Для Delphi Win32 все решается сравнительно просто - интерфейсы+WideString+safecall
Но Linux у меня пока нет, а потому не вполне понятно решение следующего вопроса:
WideString - есть ли в Linux реализация для межмодульных вызовов? (т.е. без счетчика ссылок и с системным менеджером памяти).
Очень уж не хочется переходить к pWideChar.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Нет такой.
Придется либо прикручивать sharemem, либо (по идее -- если все модули в одном процессе) вместо него должен подойти cmem.
И, до кучи, safecall нигде, кроме винды, не работает.
Bonart
новенький
Сообщения: 81
Зарегистрирован: 29.06.2007 11:47:40

Сообщение Bonart »

Общий менеджер памяти для модульного движка не есть хорошо - плагины могут быть вовсе не на Паскале. Или другие языки (плюсы те же) под Linux позволяют задействовать таковой без геморроя?
Safecall - странно и печально :( Ничего виндового в нем нет (кроме stdcall и HResult, что никого кроме компилятора парить не должно). Зато позволяет не уродовать код ради корректной обработки исключений.
Ответить