与fortane有关(200分)

  • 主题发起人 主题发起人 xia
  • 开始时间 开始时间
X

xia

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi与与fortane如何混合编程?
请给出一小程序的代码。200元送上!
 
是Fortran吗?
 
Delphi可以内嵌汇编,BCB可以编译Delphi的(部分)程序。
与Fortran混合编程,没见过?
 
与Fortran混合编程,没见过.
 
可不可以做32bit的dll ?
 
将Fortran编译的 Obj 文件用{$I xxx.obj}链接入Delphi 中,
例子这会儿没有, 明天给你。
 
有本《实用C语言接口技术与实例》(电子工业出版社)的书,
你可以看一看。
 
To SeaSky:
你让我看到了希望。
快帖出你的程序!!!!!!!!
 
for中有lib文件,试一试?
 
我也很菜,初学者,不对见谅。
 
我 没试过 ,

你只有C++的例子, 没找到Fortran 的 , Fortran 的库和C++一样
可以编译成Obj的 , 调用方式都差不多.
例子如下:
Var
form1 :tform;
implementation

{$R *.DFM}
{$L ForExam1} // Link 一个 ForExam1.obj (由Fortran 编译器生成)

Function SetValue(iValue:integer) :integer cdecl
external
//连接一个fortran函数
Function GetValue :integer cdecl
external
//连接一个fortran函数

procedure Tform1.Button1click(sender : tobject);
var kk :integer
begin
kk:=setvalue(10);
showmessage(format('value is %d',[getvalue]);
end



 
For1、For2后就可生成*.obj文件,不要进行Link操作,
剩下的就按Seasky说的办!
 
不会做个DLL大家用吗?:-)
 
To CJ
我不知道他用的是什么Fortran , 如果for windows, 那就可以做
dll了.
Btw , 我在找Business Object 的序列号, 我知道你曾经找过 ,
你找到了吗?
 
To CJ:
此话何意?想必是欠揍,混身痒痒了吧!
怎么生日刚过就忘乎所以了?
 
to seasky:正在寻找,找到通知一声吧,JB3的SN有?
to jams:你有空呀!DLL大家用不是没错吗?你揍我?好怕呀,你这么来一句是什么
意思?本来今天满开心,唉。难听的话不想在这里说,
 
感谢大家的支持!特别是SeaSky.
TO SeaSky:
昨天我下线较早,没有看到你的高论。
我现在有些明白了。但是还是想请教一下:
>Function SetValue(iValue:integer) :integer cdecl
external

> //连接一个fortran函数
>Function GetValue :integer cdecl
external
//连接一个fortran函数
这两个Function怎么implement?
能给点源码吗?我用fortran 90.
 
Fortran @!@#@$#$&#$#@ 从来没用过.

我只是说一种混合语言编程的方法.

没试过Fortran, 你在一个For文件中声明两个函数
一个叫SetValue 参数Ivalue为INTEGER*4 返回类型也是INTEGER*4
另一个叫GetValue 返回类型INTEGER*4,

注意,

这两个函数只是例子, 并不是固定用法. 声明的函数名要一样, 大小写也一样.
编译时用C的调用方法编译. (好象默认就是)

Function SetValue(iValue:integer) :integer cdecl
external


其中
cdecl 表示C的调用方式
External 表示在外部程序

Delphi 中Integer类型在Fortran中的类型应该是INTEGER*4
smallint类型在Fortran中的类型应该是INTEGER*2
其他数据类型如何对应就不知道了 :((.


 
fortran有window版的了,叫powerstation
现在一般大计算量的程序都用它来实现,是for win95的
编辑环境与vc差不多,可利用dos下的fortran程序
然后加个文件头生成标准的32位dll即可,调用dll就不用说了吧!!!
 
后退
顶部