最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
CentOS下Fortran项目构建与管理方法
时间:2026-06-07 09:53:53 编辑:袖梨 来源:一聚教程网
CentOS 下 Fortran 项目的构建与管理

一 环境准备与编译器安装
- 更新系统并安装基础开发工具与编译器:
- 安装开发工具组与 gfortran:sudo yum groupinstall “Development Tools” -y && sudo yum install gcc-gfortran -y
- 验证安装:gfortran --version
- 可选:安装 Intel Fortran(ifort) 或 Visual Studio Code + Fortran 扩展(如 Fortran Language Server、linter-gfortran)以提升开发体验。
二 项目结构与构建方式
- 推荐目录结构:
- 源码:src/(如 main.f90、mod1.f90、sub1.f90)
- 目标:build/(.o 文件)
- 二进制:bin/(可执行文件)
- 依赖/库:lib/(第三方 .a/.so)
- 构建配置:Makefile、config.mk
- 直接编译与分离编译:
- 直接编译:gfortran -O2 -Wall src/main.f90 src/mod1.f90 src/sub1.f90 -o bin/app
- 分离编译(便于增量构建):
- 编译:gfortran -O2 -Wall -c src/mod1.f90 -o build/mod1.o
- 链接:gfortran build/mod1.o build/sub1.o src/main.f90 -o bin/app
三 使用 Make 进行自动化构建
- 最小可用 Makefile(支持增量构建与清理):
FC:= gfortranFFLAGS:= -O2 -WallSRCDIR:= srcBUILDDIR:= buildBINDIR:= binSRCS:= $(wildcard $(SRCDIR)/*.f90)OBJS:= $(patsubst $(SRCDIR)/%.f90,$(BUILDDIR)/%.o)TARGET:= $(BINDIR)/app.PHONY: all cleanall: $(TARGET)$(TARGET): $(OBJS) | $(BINDIR)$(FC) $(FFLAGS) -o $@ $^$(BUILDDIR)/%.o: $(SRCDIR)/%.f90 | $(BUILDDIR)$(FC) $(FFLAGS) -c $< -o $@$(BUILDDIR) $(BINDIR):mkdir -p $@clean:rm -rf $(BUILDDIR) $(BINDIR) - 使用要点:
- 规则格式为:target: dependencies 后跟一行以Tab缩进的命令;make 会按依赖关系只重建必要目标。
- 通过变量(如 FC/FFLAGS/SRCS/OBJS)集中管理工具与选项,便于切换编译器与编译参数。
四 第三方库与依赖管理
- 常见做法:
- 使用发行版仓库安装系统库(如 MPICH、NetCDF 等),或在 /usr/local 下编译安装自有/上游库。
- 构建时通过环境变量与链接器选项指定头文件与库路径:
- 配置环境(写入 ~/.bashrc 或构建脚本):
- export CPPFLAGS=“-I/usr/local/include”
- export LDFLAGS=“-L/usr/local/lib”
- 运行时库路径:export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
- 编译链接示例:
- gfortran -O2 -Wall src/main.f90 -I/usr/local/include -L/usr/local/lib -lnetcdff -lnetcdf -o bin/app
- 配置环境(写入 ~/.bashrc 或构建脚本):
- 建议将第三方库统一放入项目 lib/,并在 Makefile 中以变量管理(如 LIBDIR/LIBS),便于跨环境复现构建。
五 打包发布与部署
- 打包发布:
- 将可执行文件与所需运行库/配置打包:
- tar -czvf app.tar.gz bin/ lib/ config/
- 解压运行:tar -xzvf app.tar.gz && ./bin/app
- 将可执行文件与所需运行库/配置打包:
- 容器化部署(可选,便于环境一致与分发):
- 示例 Dockerfile(基于 CentOS):
FROM centos:latestRUN yum update -y && yum groupinstall "Development Tools" -y && yum install -y gfortranWORKDIR /appCOPY . /appRUN gfortran -O2 -Wall -o my_app my_app.f90CMD ["./my_app"] - 构建与运行:
- docker build -t my-fortran-app .
- docker run --rm my-fortran-app。
- 示例 Dockerfile(基于 CentOS):
相关文章
- Gemini开发者写作使用方法:如何用6步写出高质量技术文档? 06-07
- 2026蚂蚁新村6月7日答案更新 06-07
- Gemini开发者新手教程:如何3步快速接入API? 06-07
- 阿里巴巴app申请样品方法-阿里巴巴app小批量样品购买步骤 06-07
- 夸克网盘怎么转存他人分享的资源-夸克网盘保存方法是什么 06-07
- 雪球app改名操作步骤 06-07