您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Linux高级开发培训
Linux高级开发培训武汉市瑞思信息技术有限公司武汉市瑞思信息技术有限公司文件使用pdfFactoryPro试用版本创建ÿ培训内容:培训内容:nnLinuxLinux下下CC与与C++C++开发工具和方法。开发工具和方法。nnLinuxLinux脚本语言脚本语言ShellShell基本程序开发基本程序开发nn课时分配:约课时分配:约66课时课时nn培训要求:培训要求:nn了解了解LinuxLinux下的开发环境和基本开发方法下的开发环境和基本开发方法PDF文件使用pdfFactoryPro试用版本创建ÿ开发基础开发基础nn基本编程概念基本编程概念nn编程语言:编程语言:CC、、C++C++nn编译编译(compile)(compile):源文件(:源文件(.c.c))--目标文件目标文件(.o)(.o)nn连接连接(link)(link):目标文件:目标文件(.o)(.o)--可执行文件可执行文件nn库库(library)(library):静态连接库:静态连接库(.a)(.a)、动态连接库、动态连接库(.so)(.so)nn见见/lib/lib目录目录nn编辑器编辑器nn编译器编译器nn连接器连接器nn可执行文件工具可执行文件工具PDF文件使用pdfFactoryPro试用版本创建ÿ开发基础开发基础nnLinuxLinux下开发工具下开发工具nn编辑器:编辑器:vivi、、emacsemacs、窗口编辑器、窗口编辑器nn编译器:编译器:GCCGCCnn调试器:调试器:GDBGDBnn可执行文件工具:可执行文件工具:BinutilsBinutilsnn连接器:连接器:ldldnn汇编程序:汇编程序:asasnn库管理工具:库管理工具:ararnn可执行文件符号管理:可执行文件符号管理:nmnmnn显示可执行文件信息:显示可执行文件信息:objdumpobjdumpPDF文件使用pdfFactoryPro试用版本创建ÿ开发基础开发基础nn简单程序示例简单程序示例(C(C语言语言))::nnhello.chello.c#include#includestdio.hstdio.hintintmain(intmain(intargc,charargc,char****argvargv)){{printf(printf(HelloHelloWorld!World!\\nn););return0;return0;}}nn编译方法:编译方法:gccgcc––ohelloohellohello.chello.cnn运行方法:运行方法:./hello./helloPDF文件使用pdfFactoryPro试用版本创建ÿ开发基础开发基础nn简单程序示例简单程序示例(C++(C++语言语言))::nnhello.cpphello.cpp#include#includeiostreamiostreamusingnamespacestd;usingnamespacestd;intintmain(intmain(intargc,charargc,char****argvargv)){{coutcoutHelloWorld!HelloWorld!““endl;;return0;return0;}}nn编译方法:编译方法:g++g++––ohelloohellohello.cpphello.cppnn运行方法:运行方法:./hello./helloPDF文件使用pdfFactoryPro试用版本创建ÿ开发基础开发基础nnGCCGCC编译器编译器nnGNUGNU平台下主流编译器平台下主流编译器nn目前最新稳定版目前最新稳定版4.04.0nn官方网站:官方网站:支持编译语言:支持编译语言:CC、、C++C++、、ObjectiveObjective--CC、、ObjectiveObjective--C++C++、、JavaJava、、FortranFortran、、AdaAdann跨平台支持:支持几乎所有主流操作系统,如跨平台支持:支持几乎所有主流操作系统,如LinuxLinux、、UNIXUNIX、、WindowsWindows等。支持多种硬件平等。支持多种硬件平台,如台,如X86X86、、ARMARM、、PPCPPC、、MIPSMIPS等等nn交叉编译功能交叉编译功能PDF文件使用pdfFactoryPro试用版本创建ÿ开发基础开发基础nn编译相关文件路径编译相关文件路径nn头文件头文件nn一般在一般在//usrusr/include/include目录下目录下nn库文件库文件nn一般在一般在/lib/lib、、//usrusr/lib/lib目录下目录下nn某些库在其他目录下,如某些库在其他目录下,如XWindowXWindow相关库一般在相关库一般在/usr/X11R6/lib/usr/X11R6/lib目录下目录下nn编译器、连接器核心文件编译器、连接器核心文件nn一般在一般在//usr/lib/gccusr/lib/gcc--lib/target/versionlib/target/version目录下目录下PDF文件使用pdfFactoryPro试用版本创建ÿ开发基础开发基础nnLinuxLinux下函数库下函数库nn静态库静态库(.a)(.a)和动态库和动态库(.so)(.so)nn库命名:库命名:liblib开头,库版本号开头,库版本号nn库链接库链接nn标准库:标准库:nn动态加载库:动态加载库:ldld--linux.solinux.so(/lib)(/lib)nn标准标准CC库:库:libc.solibc.so(/lib)(/lib)nn标准标准C++C++库:库:libstdc++.so(/usr/liblibstdc++.so(/usr/lib))nn数学库:数学库:libm.solibm.so(/lib)(/lib)PDF文件使用pdfFactoryPro试用版本创建ÿ开发基础开发基础nnGCCGCC使用用法使用用法nn基本用法:基本用法:nngccgcc[options]file[options]file……nn示例:示例:gccgcc––ohelloohellohello.chello.c,编译,编译hello.chello.c为可执行文件为可执行文件hello(hello(自动连接标准自动连接标准CC库库libc.solibc.so))nn示例:示例:gccgcc––ohelloohellohello.chello.c––lmlm,编译,编译hello.chello.c为可执行为可执行文件文件hellohello,连接数学库,连接数学库libmlibmnn示例:示例:g++g++--ohelloohellohello.cpphello.cpp,编译,编译hello.cpphello.cpp为可执行为可执行文件文件hellohello,自动连接标准,自动连接标准C++C++库库libstdc++.solibstdc++.soPDF文件使用pdfFactoryPro试用版本创建ÿ开发基础开发基础nnGCCGCC常用选项常用选项nn--vv:显示:显示gccgcc版本信息及其相关信息版本信息及其相关信息nn示例:示例:gccgcc--vvnn可用于查看可用于查看gccgcc核心文件信息及其编译配置选项核心文件信息及其编译配置选项nn--oo:生成可执行文件名:生成可执行文件名nn示例:示例:gccgcc--ohelloohellohello.chello.cnn--cc:仅编译成中间目标文件:仅编译成中间目标文件(.o)(.o),不连接,不连接nn示例:示例:gccgcc--cchello.chello.c,将生成,将生成hello.ohello.onn--SS:由源程序生成汇编文件:由源程序生成汇编文件(.s)(.s)nn示例:示例:gccgcc--SShello.chello.c,将生成,将生成hello.shello.sPDF文件使用pdfFactoryPro试用版本创建ÿ开发基础开发基础nnGCCGCC常用选项常用选项nn--EE:对源程序仅进行预处理,输出到标准输出上(可:对源程序仅进行预处理,输出到标准输出上(可用于分析预处理如用于分析预处理如definedefine的问题)的问题)nn示例:示例:gccgcc--EEhello.chello.chellop.chellop.cnn--II:指定头文件所在路径:指定头文件所在路径nn示例:示例:gccgcc--IincludeIinclude--ohelloohellohello.chello.cnn--LL:指定库文件所在路径:指定库文件所在路径nn示例:示例:gccgcc––ohelloohellohello.chello.c--LlibLlib--ltestltestnn--ll:指定连接的库文件:指定连接的库文件nn示例:同上示例:同上nn--DD:定义宏:定义宏nn示例:示例:gccgcc--DDEBUG=3DDEBUG=3--ohelloohellohello.chello.cPDF文件使用pdfFactoryPro试用版本创建ÿ开发基础开发基础nnGCCGCC常用选项常用选项nn--OnOn:代码优化选项,以产生更小和更快的目标代码,:代码优化选项,以产生更小和更快的目标代码,nn表示优化级别,如表示优化级别,如--O1,O1,--O2,O2,--O3O3等等nn示例:示例:gccgcc--O2O2--ohelloohellohello.chello.cnn--marchmarch:针对特定处理器的优化,如:针对特定处理器的优化,如--m386m386,,--m586m586等等nn示例:示例:gccgcc--m586m586--ohelloohellohello.chello.cnn--gg:产生调试代码,用于:产生调试代码,用于gdbgdb调试工具调试工具nn示例:示例:gccgcc--gg--ohelloohellohello.chello.cnn--pgpg:产生用于性能测试的附加信息,供:产生用于性能测试的附加信息,供gprofgprof程序使用程序使用nn示例:示例:gccgcc--pgpg--ohelloohellohello.chello.cnn--WallWall:显示所有警告信息:显示所有警告信息nn示例:示例:gccgcc--WallWall--ohelloohellohello
本文标题:Linux高级开发培训
链接地址:https://www.777doc.com/doc-959191 .html