Я звоню на Fortran 90 код из кода AC.Существует main()
(в c), который вызывает функцию-обертку в том же файле, которая вызывает подпрограмму на фортране (фактически, в liblibrary.a).Я работаю над Linux.Теперь я использую gdb
для отладки исполняемого файла, но он не может найти файл main.c.Я добавил рабочий каталог, используя
directory /my/working/directory
, но, тем не менее, он говорит, что нет файла с именем main.c
Если я наберу list
внутри gdb
, он покажет мне фрагмент кода на фортране.Если я наберу show language
, он говорит, что текущий исходный язык - auto; currently c
.
Если я запустил исполняемый файл, а затем прервал его и посмотрел на стек, он покажет мне c-функции, которые я вызываю, но этоне будет указывать исходный файл, а вместо этого будет указывать подпрограмму и функцию fortran.
Я пытаюсь выяснить, правильно ли я передаю переменные из c в fortran и обратно, подозреваю, что нет.
То же самое происходит в idb
, более или менее.когда я пытаюсь сделать перерыв в main.c, он говорит not found
.Я скомпилировал код Фортрана с этими флагами:
-g -O0 -check bounds -warn all -traceback -align all -align rec8byte
и с-кодом с:
-g -O0 -Wall
Все предложения приветствуются.