欢迎光临
我们一直在努力

服务器使用简介

编译程序是一个把源代码通过编译器转变成可执行程序的过程。首先,需要程序的源文件。这个源程序可以先 在自己机子上编译好,再通过 Winscp 或 scp 等传到服务器上进行编译,也可以在服务器上调用文本编辑器 新建一个。这里面我们演示一下后者。

 [mike@c1 ~]$ vi hello.f90 

vi 是 Linux 系统下很广泛,功能很强大的编辑器。几乎每个 Linux 系统都会自带一个,而且上手以后可以 十分迅速的进行编辑。打开 vi 编辑器以后,先输入字母 i 进入插入模式,再输入以下内容。

Program hello print *, "Hello World!" End Program 

输入完成以后,按 Esc 键退出插入模式,返回到命令模式。再按冒号,可以看到屏幕底行的左边出现了一个 冒号,再按 wq,确认,一个叫 hello.f90 程序就编辑好了。

 [mike@c1 ~]$ ls dir-a dir-b hello.f90 regular-file 

如果想进一步了解 vi 编辑器,可以输入 vimtutor 命令,再按提示进行练习。这里面继续进行后面的

 [mike@c1 ~]$ gfortran hello.f90 -o hello [mike@c1 ~]$ ls dir-a dir-b hello hello.f90 regular-file 

可以看到多了一个叫 hello 的文件,这就是刚刚用 gfortran 编译器编译出来的可执行程序。

 [mike@c1 ~]$ ./hello Hello World! 

运行一下这个程序,可以看到成功的输出了结果。 ./hello 的意思是“当前目录下的 hello" 文件。这是一个相对路径。执行可执文件需要明确指定当前目 录,是出于安全性的考虑。

如果程序由多个源文件组成,则可以把这些源文件都指定为命令行参数进行编译。如程序由 main.f90functions.f90 组成

! File: main.f90 Program main call print_greeting End Program 
! File: functions.f90 subroutine print_greetings print *, "Hello world!" end subroutine 

在命令行下运行

 $ gfortran -o hello main.f90 functions.f90 

就可以编译出 hello 程序。

如果程序文件较多的话,可先将源文件编译成目标文件,再将目标文件链接成可执行程序。

 [mike@c1 ~]$ gfortran -c functions.f90 [mike@c1 ~]$ ls dir-a functions.f90 hello.f90 main.f90 regular-file dir-b functions.o hello.txt nohup.out 

执行成生了 functions.o 目标文件。

 [mike@c1 ~]$ gfortran -c main.f90 [mike@c1 ~]$ gfortran main.o functions.o -o hello 

也可以目标文件与源文件写在一起。如果只改变了 main.c 文件,可以执行如下命令

 [mike@c1 ~]$ gfortran main.c functions.o -o hello 

这将重新编译 main.c 文件,并与上次生成的 functions.o 文件链接,生成可执行文件 hello.

-l 选项是指定用来链接的库。如在安装了 lapack 库的机器上,可以用 -llapack 来链接 lapack 库。 (现在的服务器上还没安上。)

还有一个编译选项 -O, 是开启编译器优化。一般可使用参数 -O3 进行优化。

对于其它的编译器,如 gcc, g++, ifort, icc. (它们分别是 GNU 的 C 语言,C++,以及 Intel 的 Fortran, C 编译器,本服务上都己安装。),以上介绍的 -c, -o 选项是通用的。其它具体的使用,可查阅相应的 man.

 $ man ifort 
  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《服务器使用简介》
文章链接:https://www.456zj.com/543.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址