我有一个Fortran程序,我正在调试。我有一个变体列表,其中一个期望变量几乎是期望值的两倍。因此,我用调试标志编译了程序,并开始调试:程序名是hfock。
$gdb hfock
(gdb) break hfock
(gdb) run
Starting program: /home/e/Desktop/hfock hfock
Breakpoint 1, hfock () at hfock.f:16
16 ZETA1 = 2.173171
(gdb) s
17 ZETA2 = 1.188530
(gdb) s
18 WRITE (*, '( "Zeta1:", F7.4 / "Zeta2:", F7.4 )' ) ZETA1, ZETA2
(gdb) s
Zeta1: 2.1732
Zeta2: 1.1885
21 PLUS=ZETA1+ZETA2
(gdb) s
22 PROD=ZETA1*ZETA2
(gdb) s
23 DIFF=ZETA1-ZETA2
(gdb) s
24 S12=8.*PROD**1.5/PLUS**3
(gdb) s
__powf (x=2.58287883, y=1.5) at w_powf.c:26
26 w_powf.c: No such file or directory.相应的(24,25,26)行代码如下:
S12=8.*PROD**1.5/PLUS**3
T11=0.5*ZETA1**2
T22=0.5*ZETA2**2我认为这可能是一个数学库,或者与glibc相关的错误,但是我不知道这个错误意味着什么,或者如何修复it.This是fortran,为什么它要调用一个C库?我需要包括图书馆吗?还是安装缺少的依赖项?完整程序来源:http://pastebin.com/waeEFSBZ
发布于 2016-01-08 01:24:20
**在Fortran指数算子中。在glibc powf.c中实现了指数运算。Gdb无法在您的源代码中找到该文件。这不是一个错误,而是一个诊断。
发布于 2016-01-08 01:11:18
此错误意味着源文件w_powf.c在您的系统中不可用。显然与你的节目无关。您可以安全地忽略该错误。
请注意,您提到的行有操作符**,我认为它是在该文件中实现的,因此它只是告诉您,无法访问该操作符实现的源代码。
https://stackoverflow.com/questions/34667964
复制相似问题