vim非常优秀的文本编辑器-首页四川大学研究生招生信息网

vim非常优秀的文本编辑器-首页四川大学研究生招生信息网

ID:20496198

大小:233.50 KB

页数:8页

时间:2018-10-13

vim非常优秀的文本编辑器-首页四川大学研究生招生信息网_第1页
vim非常优秀的文本编辑器-首页四川大学研究生招生信息网_第2页
vim非常优秀的文本编辑器-首页四川大学研究生招生信息网_第3页
vim非常优秀的文本编辑器-首页四川大学研究生招生信息网_第4页
vim非常优秀的文本编辑器-首页四川大学研究生招生信息网_第5页
资源描述:

《vim非常优秀的文本编辑器-首页四川大学研究生招生信息网》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、科学计算程序安装指南(Linux)在科学研究领域,人们智力活动活跃,产生了众多的成果,其中一部分成果以程序的形式被公布出来,便于传播、使用和继续发展。比如,处理电子与核层面信息的ABINIT(http://www.abinit.org/),处理原子分子层面信息的LAMMPS(http://lammps.sandia.gov/)等等。这些程序的存在,一方面避免了一些基础的重复劳动,从而提高了科学研究的效率;另一方面,由于站在巨人肩上,在它们的基础上人们可以将科研工作进行得更加深入。然而,由于科研工作的公益性,很多程序是开源的,运行在不同的操作系统(比如W

2、indows、MacOS、Linux)上,加之一部分科研工作者(比如低年级的同学)只熟悉Windows操作系统的程序安装,使得科研程序的安装成为了利用这些科研程序的拦路虎。由于预编译好的程序安装相对较为简单,大家也非常熟悉,本文不再赘述,而是重点介绍一下在Linux操作系统下,如何从源代码开始得到可执行程序。一编译流程现代程序大多是由高级程序语言写出来的,比如大家熟悉的C、C++、Fortran等等。下面是一段简单的“Helloworld”C++程序代码(http://en.wikipedia.org/wiki/C%2B%2B)://=========

3、===================================================================//文件名称:HelloWorld.cpp//描述:C++写的“HelloWorld”//============================================================================#includeusingnamespacestd;intmain(){cout<<"~HelloWorld~"<

4、turn0;}这些文字代码最终会被保存为文本文件(HelloWorld.cpp)存储在计算机中。这些文本文件就是我们通常意义上所说的一个程序的源代码。有了源代码文件,计算机还不能识别运行8,还必须对文本文件进行进一步处理,才能得到计算机能够执行的可执行文件(比如windows下的exe文件)。这些处理是标准化的,可以由特定的计算机程序(编译器)实现。常见的编译器有GNU编译器套件(GNUCompilerCollection,http://gcc.gnu.org/),intel编译套件Intel®ParallelStudioXE(https://soft

5、ware.intel.com/en-us/intel-parallel-studio-xe/)。这些编译器第一步会把源代码文本文件编译(compile)成中间目标文件(如Windows的.obj后缀文件;Linux下的.o后缀文件)然后再把众多的目标文件链接(link)成可执行文件。一般来说,源代码文件要变成可执行程序(二进制代码)需要经历如下的流程:编译器(如GCC等)。因此,从源代码安装任何一个程序,都需要涉及两个要素:1.齐全的源代码文件;2.合适的编译器。值得注意的是,由于现代科学计算程序已经十分庞大,比如LAMMPS的源代码文件夹下就有700

6、多个对象,共计30多兆的文本文件,如下图所示:8。如果每一个功能都重头开始写代码,将会是非常浩大的工程。所以,为了避免重复劳动,人们将程序许多常用的功能,比如矩阵运算、快速傅里叶变换、并行计算等功能模块独立出来,事先编译成中间文件(.o),并打包放在计算机中,称为库。在新写一个程序时,就可以直接调用这些库中的模块(函数等),而不必从头再写。出于各种原因,这些标准化的库并不包含在我们所下载到的程序的源代码安装包中,但是它们又是在链接成可执行文件时所必须的。所以,要正确地从源代码开始无错误地安装得到相应的可执行程序实际上涉及到三个要素:1.齐全的源代码文件

7、;2.合适的编译器;3.完备的库环境。严格来说,要真正理解“从源代码到可执行程序”的原理,需要详细地了解编译原理的细节。但是本文关注的重点在于“由源代码得到可用的计算机程序”,所以编译原理的细节就不那么重要了。读者只需记住,三个要素的内容,然后根据内容一步一步正确地设置相关信息就足够了。8二自动化编译:makefile的使用由前面内容可知,有了源代码、库环境以及编译器后,我们就可以参考编译器的命令说明,根据源代码的依赖关系,把源代码编译成可执行程序,比如一个GCC的编译命令如下:g++HelloWorld.cpp。在HelloWorld.cpp的路径下

8、执行完上述命令,就可以生成可执行文件a.out,具体流程及结果如下图所示(终端中bash命令)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。