Linux — Pascal DLL в приложении C ++ на платформе ARM

У меня огромное количество кода, написанного на Pascal, и мне нужно использовать его в приложении C ++, работающем на встроенном ПК с процессором ARM9. Моя идея заключалась в кросс-компиляции кода Pascal для библиотек dll, которые я хотел включить в свое приложение C ++. Я попытался установить Lazarus, но я не могу заставить его работать с кросс-компилятором, и я попытался установить компилятор непосредственно на встроенный ПК с похожим результатом. C ++ кросс-компилятор работает отлично. Есть ли способ заставить Pascal-код работать в приложении C ++ на другой платформе? Я предоставлю любую дополнительную информацию, если это необходимо.

Дополнительная информация:

  • встроенный компьютер предназначен для использования при экстремально низких температурах, поэтому он имеет низкое значение оперативной памяти (32 МБ) под управлением урезанного Linux, и на его флэш-памяти осталось только немного свободного места (мне нужно использовать SD-карту для всех файлов)

0

Решение

Я не думаю, что кто-то может окончательно ответить на ваш вопрос, но некоторые намеки:

  1. Вам нужно будет найти способ связи между кодом C ++ и Pascal. Это может быть просто случай определения любой интерфейсной функции как функции стиля C или C ++. Но, например, строки в Pascal часто НЕ являются стандартными строками в стиле C или C ++, поэтому для правильной работы потребуется дополнительная обработка. Структуры (RECORD на паскале) и классы потребуют еще более тщательной обработки того, как они взаимодействуют между кодом C ++ и Pascal — в большинстве случаев он станет полным решением для сортировки (то есть преобразовать в поток байтов, а затем преобразовать обратно в правильный тип на другом конце).

  2. Кросс-компиляция кода Pascal основана на наличии компилятора Pascal, который соответствует вашему коду Pascal И вашей цели. Если вы не можете скомпилировать свой код для правильной цели, все остальные части проекта потерпят неудачу … Для Pascal существует «стандарт», но большинство компиляторов имеют ряд расширений.

  3. Рассматривали ли вы вопрос о том, чтобы сделать код на Pascal автономным приложением, которое выдает результаты в виде файла, а не напрямую взаимодействует с кодом C ++? Чтение файла, формат которого можно контролировать, может оказаться гораздо более простым решением, чем попытка взаимодействия одного языка с другим.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]