В случае разработки статической библиотеки с использованием fortran:static lib со многими модулями
lib состоит из нескольких модулей, например. «модуль a», «модуль b» и т. д.
Каждый из модулей имеет общедоступные переменные, типы и процедуры.
Теперь вы хотите использовать lib в программе «test».
Одним из возможных способов является использование каждого из модулей и предоставление файла * .a lib во время связывания. например,
program test
use a
use b
...
end program
Но было бы лучше, если бы был использован только один модуль/*. h. например .:
program test
use all
...
end program
Одно из возможных решений, чтобы скопировать все публичные переменные, типы и интерфейс процедур в «модуле всех», а также использовать модуль «все», а не отдельных модулей.
Но если какой-либо из отдельных модулей был изменен, «модуль все» также необходимо изменить для соответствия изменениям.
Есть ли более подходящий метод для работы или имеется автоматический инструмент для создания «модуля все»?
Большое спасибо за любой ввод.
Да, это было бы лучше. Мне потребовалось довольно много времени, чтобы понять, что импортированные символы модуля экспортируются снова, если я не использую 'private', который я сейчас использую как можно больше. –
Благодарим вас за ответ. Таким образом, все отдельные модули должны быть включены в папку include. И все используемые отдельные модули необходимо скомпилировать с помощью программы вождения, что делает * .a почти бесполезным. Это правильно? – mianzhi