欢迎来到天天文库
浏览记录
ID:9004094
大小:109.50 KB
页数:10页
时间:2018-04-14
《命令符参数的汉语翻译》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、18.Unix/Linux系统的C编程课程名称UNIX系统环境与软件开发教学章节§11Unix/Linux系统的C编程教学目的掌握UNIX/Linux系统cc、gcc和g++的使用方法,掌握静态库和动态库的构建与使用方法教学重点UNIX/Linux系统的文件相关的系统及使用方法教学难点UNIX/Linux系统的文件相关的系统及使用方法知识点Cc、gcc和g++的使用,文件相关的系统调用教学时间班级教学器具课件;多媒体播放系统教学过程11.1编译器11.1.1功能及用法1.为什么要使用编译器?C语言源程
2、序需要经过编译和链接这两个过程才能转换成二进制可执行程序。一般在Unix系统中使用的C编译器是cc(CCompiler的缩写)。在各个Linux发行版本中广泛使用的C编译器名为gcc(GNUcc)。2.功能gcc能将C/C++源程序和目标程序编译并调用链接程序ld生成可执行文件,如果用户没有给出可执行文件的名字,gcc将默认生成一个名为a.out的可执行文件。3.用法gcc的一般用法为:gcc[options]其常用格式为:gcc[-c][-S][-E][-s][-g][-sta
3、tic][-shared][-rdynamic][-Idir…][-Ldir…][-lmylib][-xLanguage][-Olevel][-Dmacro[=defn]…][-Umacro][-mmachine-option…][-oout_file]infile…几点说明:gcc根据源程序的后缀名来决定使用哪一种语言的编译器进行编译工作。后缀名为“.c”(小写)的文件被gcc认为是C语言的源程序文件。例如:gcchello.c。gcc编译出来的可执行程序默认是a.out。g++是一个C++版本的g
4、cc编译器。g++要求C++语言源程序文件带有后缀名“.cc”。例如:g++hello.cc11.1.2参数及说明-c编译后仅输出*.o型的目标文件,而不连接生成可执行程序-S编译后仅生成汇编语言文件*.s,但不生成目标文件和可执行代码-s生成可执行文件时,删除符号表和重定位信息。生成成品软件时使用-E在预处理过程后结束,不进行编译和连接,也不生成可执行代码-g在可执行文件中加入调试信息,便于程序的调试-Idir将目录dir添加到头文件搜索范围-lmylib连接时搜索库libmylib.a-Ldir将
5、目录dir添加到库文件搜索范围-ooutfile指定输出文件名。若不指定则采用默认方式-mcpu=cpu-type生成与机器相关的汇编代码-O[L]编译时进行优化。L为优化级别,分别0~3和s。生成最终产品时使用-static禁止使用共享库(动态连接库)-shared生成共享库-rdynamic连接时使用共享库-Dname[=val]宏定义变量name[=val]-Uname取消宏定义变量name-xlanguage指定前端语言11.1.3示例C程序:设有一个文件名为hello.c的程序,其内容为:#
6、includemain(){printf(“HelloWorld!”);}执行步骤gcchello.c#生成可执行程序a.outgcc–ohellohello.c#生成可执行程序hellogcc–chello.c#生成目标文件hello.ogcc–Shello.c#生成汇编语言程序hello.sgcc–S–mcpu=i386#生成80x86格式汇编语言编译生成可执行文件之后,就可以运行了,方法为:./a.out或./hello输出结果HelloWorld!2.c++程序下面是一个
7、c++版的HelloWorld程序,其文件名为hello.C,内容为:#includemain(void){cout<<"Hello,World!"<8、ohhello.C–lstdc++#指定标准c++库,生成可执行程序h11.1.4gcc的工作过程使用gcc/g++由C源代码文件生成可执行文件的过程,有以下四个阶段∶预处理(也称预编译,Preprocessing);编译(Compilation);汇编(Assembly);链接(Linking)。11.2头文件在标准C中有两种形式的头文件使用方式:#include#include“headfile.h”区别:#include
8、ohhello.C–lstdc++#指定标准c++库,生成可执行程序h11.1.4gcc的工作过程使用gcc/g++由C源代码文件生成可执行文件的过程,有以下四个阶段∶预处理(也称预编译,Preprocessing);编译(Compilation);汇编(Assembly);链接(Linking)。11.2头文件在标准C中有两种形式的头文件使用方式:#include#include“headfile.h”区别:#include
此文档下载收益归作者所有