gpt4 book ai didi

c - idb 找不到函数——有什么提示吗?

转载 作者:行者123 更新时间:2023-11-30 18:02:15 25 4
gpt4 key购买 nike

我发现 idb 无法进入我的函数之一。

我正在将一个 C 程序 (main.c) 与一个属于模块 (mod1) 的 fortran90 函数 (func1) 链接,该函数链接到另一个模块 (mod2) 中的另一个函数 (func2)。结构是这样的

main.c (c) ---> func1 转换为 lib1.a (fortran) 的 mod1 ---> func2 转换为 lib2.a (fortran) 的 mod2

*问题是:我无法使用 idb 进入 func2。当我尝试从 func1 进入 func2 时,调试器将转到 func1 中的下一行。我没有使用 gdb,因为我知道它无法进入 fortran 模块,可以吗?

我正在使用具有以下标志的 Intel 11.1 进行编译:

CFLAGS=-ggdb -debug full -O0  -Wall -traceback

F90FLAGS=-g -O0 -check bounds -warn all -traceback -align all -align rec8byte

我不知道该怎么办,任何提示表示赞赏

<小时/>

编辑:我我编写了一个简单的 fortran 90 程序,它直接调用 lib2.a,而不使用 lib1.a。我发现idb也无法进入lib2.a。

我像这样编译库

ifort -g -O0 -check bounds -warn all -traceback -align all -align rec8byte -o a.o -c a.f90 -I
ifort -g -O0 -check bounds -warn all -traceback -align all -align rec8byte -o b.o -c b.f90 -I
ifort -g -O0 -check bounds -warn all -traceback -align all -align rec8byte -o c.o -c c.f90 -I
ifort -g -O0 -check bounds -warn all -traceback -align all -align rec8byte -o d.o -c d.f90 -I
/u/shared/programs/x86_64/ifort/11.1.064/bin/intel64/xiar rcvf lib2.a a.o b.o c.o d.o
xiar: executing 'ar'
a - a.o
a - b.o
a - c.o
a - d.o

我不明白出了什么问题,我通常编译这样的库并且调试器可以工作!

有什么想法吗?

最佳答案

这是我在英特尔论坛上得到的答案:

我正在使用 -I 而不带参数:这是错误的并导致问题。

关于c - idb 找不到函数——有什么提示吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280401/

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