gpt4 book ai didi

fortran - 为 FreePascal/Lazarus 包装一个 Fortran 库

转载 作者:行者123 更新时间:2023-12-02 00:24:25 27 4
gpt4 key购买 nike

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

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

最佳答案

我认为你把这里的情况复杂化了。

Lazarus 不等于 Delphi。

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

对于其余部分,如果您解释一下您卡住的确切位置会更清楚。

关于fortran - 为 FreePascal/Lazarus 包装一个 Fortran 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9417702/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com