У меня огромное количество кода, написанного на Pascal, и мне нужно использовать его в приложении C ++, работающем на встроенном ПК с процессором ARM9. Моя идея заключалась в кросс-компиляции кода Pascal для библиотек dll, которые я хотел включить в свое приложение C ++. Я попытался установить Lazarus, но я не могу заставить его работать с кросс-компилятором, и я попытался установить компилятор непосредственно на встроенный ПК с похожим результатом. C ++ кросс-компилятор работает отлично. Есть ли способ заставить Pascal-код работать в приложении C ++ на другой платформе? Я предоставлю любую дополнительную информацию, если это необходимо.
Дополнительная информация:
Я не думаю, что кто-то может окончательно ответить на ваш вопрос, но некоторые намеки:
Вам нужно будет найти способ связи между кодом C ++ и Pascal. Это может быть просто случай определения любой интерфейсной функции как функции стиля C или C ++. Но, например, строки в Pascal часто НЕ являются стандартными строками в стиле C или C ++, поэтому для правильной работы потребуется дополнительная обработка. Структуры (RECORD на паскале) и классы потребуют еще более тщательной обработки того, как они взаимодействуют между кодом C ++ и Pascal — в большинстве случаев он станет полным решением для сортировки (то есть преобразовать в поток байтов, а затем преобразовать обратно в правильный тип на другом конце).
Кросс-компиляция кода Pascal основана на наличии компилятора Pascal, который соответствует вашему коду Pascal И вашей цели. Если вы не можете скомпилировать свой код для правильной цели, все остальные части проекта потерпят неудачу … Для Pascal существует «стандарт», но большинство компиляторов имеют ряд расширений.
Рассматривали ли вы вопрос о том, чтобы сделать код на Pascal автономным приложением, которое выдает результаты в виде файла, а не напрямую взаимодействует с кодом C ++? Чтение файла, формат которого можно контролировать, может оказаться гораздо более простым решением, чем попытка взаимодействия одного языка с другим.
Других решений пока нет …