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