【问题标题】:Wrapping a Fortran library for FreePascal / Lazarus为 FreePascal / Lazarus 包装 Fortran 库
【发布时间】:2012-02-25 21:10:18
【问题描述】:

我想在带有Lazarus 的FreePascal 程序中使用DIERCKX 库(用Fortran 编写)的一些例程。由于我是 Lazarus 的新手,所以我想知道走哪条路:哪些步骤是必要的,我该怎么做?

编辑 在 Linux 上开发,但我创建的库需要在 Windows 上编译,因为它将在 Delphi 程序中使用。 gfortran 和 g95 安装在我的 Linux 机器上;但最好能够在没有 Cygwin 和 Intel Fortran 的情况下在 Windows 上编译它。

【问题讨论】:

标签: fortran freepascal lazarus


【解决方案1】:

我认为您在这里使情况过于复杂。

Lazarus 不等于 Delphi。

  • Delphi 无法访问超出基本程序级别的 Free Pascal 结构。 (C兼容部分)。如果你的想法是用 FPC 抽象 GNU 世界,然后从 Delphi 调用它,那将失败。
  • Delphi 无法静态链接到 gcc 库。要访问 gcc 原始代码,您必须将其转换为 DLL,然后从 Delphi 加载。
  • FPC 可以静态链接到 gcc 库(cygwin、mingw),但只能调用普通的 过程/函数,无需修改或语言特定类型。
  • FPC 当然也可以在 DLL 中使用 gcc 原始代码。
  • 至于从 FPC 获取 Fortran 代码,如果需要从 C 调用它,请准备好它,确保它正常工作,然后使用 CDECL 调用约定将相关标头转换为 Pascal(请参阅 FPC 源代码存储库以获取许多已翻译示例C 头文件)

对于其余部分,如果你能解释你到底卡在哪里会更清楚。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-27
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    相关资源
    最近更新 更多