安装Fortran编译器
推荐安装开源的gfortran
(GNU Fortran编译器):
sudo apt install gfortran # CentOS/RHEL系统 sudo yum install gcc-gfortran # 验证安装 gfortran --version # 输出版本信息即成功
编写示例程序
创建测试文件hello.f90
:
program hello print *, "Hello, Fortran on Linux!" end program hello
基础编译与运行
单文件编译
gfortran hello.f90 -o hello # 编译 ./hello # 运行
-o hello
:指定输出文件名(默认为a.out
)
多文件编译
gfortran file1.f90 file2.f90 -o program
常用编译选项
选项 | 作用 |
---|---|
-O2 |
优化代码性能 |
-g |
添加调试信息(用于GDB) |
-Wall |
启用所有警告 |
-J./mod |
指定模块文件输出目录 |
-I./include |
指定头文件搜索路径 |
-L./lib |
指定库文件路径 |
-lblas |
链接BLAS数学库 |
示例:
gfortran -O2 -g -Wall -Jmodules -Iinclude src.f90 -o out
处理模块依赖
Fortran模块(.mod
文件)需按依赖顺序编译:
# 先编译模块(生成mod1.mod) gfortran -c mod1.f90 # 再编译主程序(自动关联mod1.mod) gfortran main.f90 mod1.o -o program
使用Makefile自动化
创建Makefile
简化编译流程:
FC = gfortran FFLAGS = -O2 -Wall TARGET = myapp SRCS = main.f90 utils.f90 OBJS = $(SRCS:.f90=.o) all: $(TARGET) $(TARGET): $(OBJS) $(FC) $(FFLAGS) -o $@ $^ %.o: %.f90 $(FC) $(FFLAGS) -c $< clean: rm -f *.o *.mod $(TARGET)
使用命令:
make # 编译 make clean # 清理
常见问题解决
-
未找到编译器:
检查gfortran
安装,确保PATH配置正确。 -
模块依赖错误:
按依赖顺序编译(基础模块优先),或使用make
自动管理。 -
链接库失败:
使用-L
指定库路径,-l
指定库名(如:-llapack
)。 -
语法警告:
启用-Wall
并修复代码提示的警告。
扩展工具推荐
- 调试工具:
gdb
(需编译时加-g
选项) - 性能分析:
gprof
(编译时加-pg
) - 包管理器:
spack
或conda
安装预编译库
引用说明: 参考GCC官方文档(gcc.gnu.org/fortran)及Linux社区实践指南,编译器选项遵循GNU Fortran标准,适用于大多数Linux发行版。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8547.html