1

如何在单独的模块中声明函数子例程并在适当的非头模块中对其进行初始化?

我正在使用make进行编译:

# All modules
OBJS        := $(BINDIR)/physics.o $(BINDIR)/particles.o

# Build rules
$(BINDIR)/%.o: $(VPATH)/%.f | $(BINDIR)
$(FC) $(FFLAGS) -c $^ -o $@

$(BINDIR)/%.mod: 

runner: $(OBJS)

..问题是physics.f依赖于particles.f中的子程序,反之亦然。所以我不能只改变这些文件的编译顺序。

我收到这样的错误:

src/physics.f:105.23:

      use particles
                   1
Fatal Error: Can't open module file 'particles.mod' for reading at (1): No such file or directory
make: *** [bin/physics.o] Error 1
4

1 回答 1

0

虽然尚不完全清楚您打算做什么,但在我看来,您正在寻找submodules。不幸的是,它们目前并未得到编译器的广泛支持。

于 2013-08-22T18:43:34.340 回答