0

我有大量用 Pascal 编写的代码,我需要在带有 ARM9 处理器的嵌入式 PC 上运行的 C++ 应用程序中使用它。我的想法是将 Pascal 代码交叉编译为我想包含在我的 C++ 应用程序中的 dll 库。我尝试安装 Lazarus,但无法使用它的交叉编译器,我尝试将编译器直接安装到嵌入式 PC,结果相似。C++ 交叉编译器完美运行。有什么方法可以让 Pascal 代码在不同平台上的 C++ 应用程序中工作?如果需要,我将提供任何其他信息。

附加信息:

  • 嵌入式 pc 用于极低温度,因此它具有运行精简 Linux 的低内存 (32MB),并且其闪存上只剩下一点可用空间(我必须将 SD 卡用于所有文件)
4

1 回答 1

1

我认为没有人可以最终回答您的问题,但有一些提示:

  1. 您将需要找到一种在 C++ 和 Pascal 代码之间进行通信的方法。这可能只是将任何接口函数定义为 C 或 C++ 样式函数的情况。但是例如,Pascal 中的字符串通常不是标准的 C 或 C++ 风格的字符串,因此需要一些额外的处理才能正常工作。结构(Pascal 中的 RECORD)和类将需要更仔细地处理它们如何在 C++ 和 Pascal 代码之间进行接口 - 在大多数情况下,它将成为一个完整的编组解决方案(即转换为字节流,然后在另一端转换回正确的类型)。

  2. Pascal 代码的交叉编译依赖于 Pascal 编译器,该编译器与您的 Pascal 代码和您的目标相匹配。如果您无法将代码编译到正确的目标,项目的所有其他部分都会失败...... Pascal 有一个“标准”,但大多数编译器都有一系列扩展。

  3. 您是否考虑过让 Pascal 代码成为一个独立的应用程序,以文件的形式生成结果,而不是直接与 C++ 代码交互?读取可以控制其格式的文件可能比尝试将一种语言连接到另一种语言更容易。

于 2013-09-09T13:37:55.337 回答