我想在用FreePascal编写的Lazarus程序中使用DIERCKX库(该库是用Fortran编写的)的一些例程。由于我对Lazarus完全陌生,我想知道应该怎么做:需要哪些步骤,以及如何进行? 编辑: 在Linux上开发,但创建的库需要在Windows上编译,因为它将在Delphi程序中使用。我的Linux系统上安装了gfortran和g95;但最好能在没有Cygwin和英特尔Fortran的情况下在Windows上编译。
我认为你在这里过于复杂化了情况。Lazarus不等同于Delphi。Delphi无法访问超出基本过程级别的Free Pascal结构。如果你的想法是用FPC抽象GNU世界,然后从Delphi调用它,那么会失败。Delphi无法静态链接到gcc库。要访问gcc源代码,必须将其转换为DLL,并从Delphi加载。FPC可以静态链接到gcc库(cygwin,mingw),但只能调用普通的过程/函数,不能使用语言特定类型。当然,FPC也可以在DLL中使用来自gcc的代码。至于从FPC处理Fortran代码,需要准备好如果需要从C调用它,则确保其正常工作,然后使用CDECL调用约定(请参阅FPC源代码存储库以获取许多已翻译的C头文件的示例)转换相关标题为Pascal。对于其余部分,如果你解释一下你卡在哪里会更清楚。