- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux编程-3-C、C和Fortran编程教程
Linux操作系统与程序设计;提 纲;
编译器(C/C++,Fortran,Java,Python等)
C与C++、Fortran程序设计、编译方法
Fortran90之动态数组
C与Fortran程序的相互调用;主要的编译器
C/C++编译器(如cc, gcc,g++,icc等)
Fortran编译器(如f77,g77,f90,ifort)
Java编译器;编译过程的4个阶段;扩展名 类型;? 编译时,编译器需要的是语法的正确,函数与变量的声明正确。对于后者,通常是你需要告诉编译器头文件的所在位置(头文件中一般只是声明,而定义应该放在C/C++文件中)。只要所有的语法正确,编译器就可以编译出目标文件。一般来说,每个源文件都应该对应于一个目标文件(.O文件或是.OBJ文件)。
? 链接时,主要是链接函数和全局变量。由中间目标文件(.O文件或是.OBJ文件)链接生成应用程序(可执行码)。链接器并不管函数所在的源文件,只管函数的中间目标文件(Object File)。
? 在大多数时候,由于源文件太多,编译生成的中间目标文件太多,而在链接时需要明显地指出中间目标文件名,这对于编译很不方便,所以,我们要给中间目标文件打个包,在Windows下这种包叫“库文件”(Library File),也就是.lib 文件,在Linux/UNIX下,是Archive File,也就是.a 文件。;C与C++程序设计、编译方法; 由目标代码“链接”生成二进制可执行码; 由源程序“编译、链接”生成二进制可执行码;;参考资料:C库函数.pdf;Fortran程序设计、编译方法;选项 说明;小练习;头文件say.h;子程序1:say_hello.c;子程序2:say_bye.c;主程序say.c;1: edit codes using Vi or gedit, or Emacs:
say.h
say_bye.c
say_hello.c
say.c
2: list and check your files in this dictionay:
ls -l
3: compiling command to obtain object codes:
cc -c say_bye.c
cc -c say_hello.c
cc -c say.c
4: list and check your filename in this dictionary:
ls -l;5: link command to obtain executable code:
cc -o say.exe say.o (What happens ?)
cc -o say.exe say.o say_bye.o say_hello.o
./say.exe (What results ?)
cc -o say.exe say.o say_bye.o say_hello.o -O3
./say.exe (What results ?)
6: delete all object codes:
rm -f say.o say_bye.o say_hello.o
rm -f *.o
7: compiling command:
cc -o say.exe say.c -O3 (What results ?)
cc -o say.exe say.c say_bye.c say_hello.c -O3
./say.exe (What results ?)
cc -o say.exe say.c say_bye.o say_hello.o -O3
./say.exe (What results ?);;;编译简介;基本的用法;常用编译参数;常用编译参数;常用编译参数
文档评论(0)