最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux下Fortran程序怎样部署
时间:2026-06-22 09:58:54 编辑:袖梨 来源:一聚教程网
Linux下Fortran程序部署全流程

一 环境准备与编译器安装
- 在Ubuntu/Debian系安装编译器:sudo apt update && sudo apt install gfortran;验证:gfortran --version。
- 在CentOS/RHEL系安装编译器:sudo yum install gcc-gfortran(或使用 dnf);验证:gfortran --version。
- 可选:安装OpenMP支持(并行):sudo apt-get install libomp-dev;编译时加 -fopenmp。
- 可选:安装MPI并行环境:sudo apt-get install mpich;编译/运行用 mpif90 / mpiexec。
二 构建与运行
- 单文件程序
- 编译:gfortran hello.f90 -o hello
- 运行:./hello
- 多文件程序
- 编译:gfortran -o app main.f90 utils.f90 io.f90
- 运行:./app
- 常用编译选项
- 开启优化与告警:gfortran -O2 -Wall -o app main.f90
- 调试信息:gfortran -g -O0 -o app main.f90
- 并行示例
- OpenMP:gfortran -fopenmp -o parallel parallel.f90;运行:./parallel
- MPI:mpif90 -o mpi_app mpi_app.f90;运行:mpiexec -n 4 ./mpi_app
三 依赖库与第三方组件
- 安装依赖(示例)
- Ubuntu:sudo apt-get install libomp-dev mpich
- CentOS:sudo yum install gcc-gfortran(按需安装其他库)
- 第三方库(如NetCDF/HDF5)
- 源码编译安装到自定义前缀(如:/usr/local/netcdf)
- 编译时链接:gfortran app.f90 -o app -I/usr/local/netcdf/include -L/usr/local/netcdf/lib -lnetcdff -lnetcdf -lhdf5 -lz
- 运行期库路径:将 /usr/local/netcdf/lib 加入环境变量(见下一节)
四 上线部署与交付
- 本机或服务器直接部署
- 打包:tar czvf app.tar.gz app
- 上传:scp app.tar.gz user@server:/opt/app
- 在服务器解压运行:tar xzvf app.tar.gz && ./app
- 容器化交付(Docker)示例 Dockerfile(以 CentOS 基础镜像为例):FROM centos:latestRUN yum update -y && yum groupinstall “Development Tools” -y && yum install -y gfortranWORKDIR /appCOPY . /appRUN gfortran -o my_program my_program.f90CMD [“./my_program”]构建与运行:docker build -t my-fortran-app .;docker run -it my-fortran-app
五 常见问题与实用建议
- 库找不到(运行时报 libxxx.so 不存在)
- 临时:export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
- 持久:写入 ~/.bashrc 或系统级 profile;发行版可用 ldconfig 管理库缓存。
- 并行运行失败
- OpenMP:确认编译带了 -fopenmp,且运行环境允许线程数(如 OMP_NUM_THREADS)。
- MPI:使用 mpif90 编译,mpiexec/mpirun 启动,进程数与资源匹配。
- 构建系统
- 推荐使用 Fortran Package Manager(fpm) 管理依赖与构建,简化多文件与测试流程。
- 云服务器场景
- 通过 SSH 登录实例,完成编译器安装、构建与运行;适合批处理与定时任务。
相关文章
- 《装甲前线》烈日下的坦克兵怎样生存(2) 06-22
- 装甲前线视频解说新版TOS-2火箭炮 06-22
- 装甲前线 装甲卫星展望六 PTL-09 06-22
- 《装甲前线》视频解说:突击炮斯崔克玩法 06-22
- 三角洲行动紧急停堆标杆任务指南 06-22
- 对话《STRANGER THAN HEAVEN》制作人:告别舒适区 新IP从零开始硬核重生 06-22