作者GP03 (无言)
看板Fortran
标题Re: [问题] DVF5.0转换到IVF10.1的问题
时间Thu Sep 18 15:09:44 2008
: 查了IMSL说明,将DLSADS改成LSADS
: 编译时出现下列错误
: 1>F:\20080731freeformat\program-27-80\Mainpg.for(976) : Error: The type of
: the actual argument differs from the type of the dummy argument. [GLKRR]
: 1>F:\20080731freeformat\program-27-80\Mainpg.for(976) : Error: The type of
: the actual argument differs from the type of the dummy argument. [GLFRR]
: 1>F:\20080731freeformat\program-27-80\Mainpg.for(976) : Error: The type of
: the actual argument differs from the type of the dummy argument. [XR]
: 请问是哪边需要修改才能正常编译呢
上述的问题是似乎是新旧版IMSL定义参数的形式顺序不同
旧版为CALL LSADS (N, A, LDA, B, X)
新版则是CALL LSADS (A, B, X [,…])
故修改为改为 CALL LSADS(GLKrr,GLFrr,Xr,NEQ3,NEQ3)
再经版友建议
把USE NUMERICAL_LIBRARIES改成
Include 'link_fnl_shared.h'
USE LSADS_INT
编译後出现一个命令提示字元和一个错误讯息的对话框
内容为:无法找到程序输入点__powri84(在连结程式库 libmmd.dll)
按确定後随即关闭
下列为输出的讯息:
'mainprogram.exe': 已载入
'F:\20080731freeformat\program-27-80\Debug\Mainprogram.exe',已载入符号
'mainprogram.exe': 已载入 'C:\WINDOWS\system32\ntdll.dll',未载入符号
'mainprogram.exe': 已载入 'C:\WINDOWS\system32\kernel32.dll',未载入符号
'mainprogram.exe': 已载入 'C:\Program
Files\VNI\imsl\fnl600\IA32\lib\imsl_dll.dll',二进位码不是以侦错资讯而建置。
'mainprogram.exe': 已载入 'C:\WINDOWS\system32\MSVCR71.dll',未载入符号
'mainprogram.exe': 已载入 'C:\Program
Files\Intel\Compiler\Fortran\10.1.011\IA32\Lib\libifcoremd.dll',未载入符号
'mainprogram.exe': 已载入 'C:\Program Files\AnCAD\MATFOR4\bin\libmmd.dll',未
载入符号
'mainprogram.exe': 已载入 'C:\WINDOWS\system32\imagehlp.dll',未载入符号
'mainprogram.exe': 已载入 'C:\WINDOWS\system32\msvcrt.dll',未载入符号
侦错工具:: 处理序载入期间,发生未处理的非持续性例外状况
'[3884] mainprogram.exe: 原生' 程式以返回码 -1073741511 (0xc0000139) 结束。
这样看来这不只是程式码有问题了?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.198.238
1F:推 k1942:对了你一开始的 CALL LSADS (N, A, LDA, B, X) 是F77 格式 09/18 20:50
2F:→ k1942:後来的是F90格式,假如你要用F90格式,要区别双精确或单精确 09/18 20:51
3F:→ k1942:CALL D_LSADS (A0, B0, X0 [,…]) or S_LSADS 你再试试吧 09/18 20:52
4F:→ GP03:试过了,还是出现一样的错误讯息 09/18 21:04