- 积分
- 2473
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-3-27
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 东风急流 于 2016-5-25 14:35 编辑
最近在使用intel编译器编译程序,因为对linux系统不够熟悉,很多概念理解不透,导致了编制时候常出现问题。
现在对自己理解的部分做一总结,希望对大家有所帮助,不正确的地方还请家园的朋友们一起修改。
一、下载与安装
1、家园上有下载:http://bbs.06climate.com/forum.php?mod=viewthread&tid=33151
2、具体的安装方法见附件:intel编译器安装.docx(需要注意的是开始提示你所需的编译环境全不全,如果不全还需自己补齐)
3、安装完成后需设置环境变量,这里的方法较为特殊:找到安装路径里的bin文件夹,里面有一个compilervars.sh文件,
在.bashrc中加入 source /opt/intel/bin/compilervars.sh intel64 (路径根据自己的修改)
4、测试是否安装好:终端输入ifort,提示“command line error:no files specified”,即可;最好在which ifort 一下,看看环境变量是否设置成功
二、使用方法简介
1、简单的编译
icc:编译c 程序
icpc :编译c++程序
ifort: 编译fortran程序
例1:分两步完成编译链接: ifort -c test.f 生成test.o目标文件(不做链接)
ifort -o test.exe test.o 生成test.exe可执行文件
也可以一步完成: ifort -o test.exe test.f 直接生成test.exe可执行文件
ifort test.f 直接生成a.out可执行文件
2、链接库文件或者头文件的编译
程序里面常会调用到某个库或者头文件
例2:ifort -o test.exe test.f -L/opt/netcdf/lib -lnetcdf 链接netcdf库(会自动去找netcdf.so文件)
ifort -o test.exe -I/opt/netcdf/include text.f 链接netcdf头文件(会自动去找.h文件或者.inc文件)
注意这里的顺序不要随便换,否则会找不到!
三、参数使用查询(非常重要)
我们不可能每个编译参数都学习什么意思,所以用到时候再查吧
可以ifort --help 或 man ifort ,或者直接进入opt/intel/man下面去找相应文档里面有各种参数的含义
1、现在翻译里面介绍后缀名的一小段:
.f90 被当做自由格式文件处理
.f .for .ftn 被当做固定格式文件处理
.F .FOR .FTN .fpp .FPP 被当做需要前处理的固定格式文件处理
F90 被当做需要前处理的固定格式文件处理
还有编译wrf里面经常看到 -C -g 是用做debug用的
写不动了,后面的部分再补充~~
|
|