Linux培训-C编程.ppt
《Linux培训-C编程.ppt》由会员分享,可在线阅读,更多相关《Linux培训-C编程.ppt(33页珍藏版)》请在三一办公上搜索。
1、Linux 培训-Linux下使用C语言,许智君,内容提纲,gccgdbMakeWindows到Linux程序移植,C语言简介,在80年代末期美国国家标准协会(American National Standards Institute)发布了一个被称为ANSI C的C语言标准。这更加保证了将来在不同平台上的C的一致性。Linux上可用的C编译器是GNU C编译器,它建立在自由软件基金会的编程许可证的基础上,因此可以自由发布。你能在Linux的发行光盘上找到它,GNU C 编译器,一、基本用法 gcc options filenames说明:在gcc后面可以有多个编译选项,同时进行多个编译操作。
2、很多的gcc选项包括一个以上的字符。因此你必须为每个选项指定各自的连字符。例如,下面的两个命令是不同的:gcc-p-g test1.c gcc-pg test1.c当不用任何选项编译一个程序时,GCC将会建立(假定编译成功)一个名为a.out的可执行文件。,基本编译选项,-o选项 你能用-o 编译选项来为将产生的可执行文件指定一个文件名来代替 a.out。例:gcc o count count.c-c选项:告诉GCC仅把源代码编译为目标代码而跳过汇编和连接的步骤。这个选项使用的非常频繁,因为它使得编译多个C程序时速度更快并且更易于管理。缺省时GCC建立的目标代码文件有一个.o的扩展名。例:gc
3、c c test2.c,警告选项,在gcc中用开关-Wall控制警告信息,使用示例命令如下:gcc Wall-o test3_1 test3_1.c,查找选项,gcc一般使用默认路径查找头文件和库文件。如果文件所用的头文件或库文件不在缺省目录下,则编译时要指定它们的查找路径。-I选项:指定头文件的搜索目录例:gcc I/export/home/st o test1 test1.c-L选项:指定库文件的搜索目录例:gcc L/usr/X11/R6/lib o test1 test1.c,多个源文件生成一个可执行文件,问题:有多个源文件时,如何生成一个可执行文件?方法1:gcc Wall o my
4、test test1.c test2.c test3.c方法2:gcc-Wall-c test1.cgcc-Wall c test2.cgcc-Wall c test3.c gcc o mytest test1.o test2.o test3.o,优化选项,优化选项可以使GCC在耗费更多编译时间和牺牲易调试性的基础上产生更小更快的可执行文件。这些选项中最典型的是-O和-O2选项。-O选项:告诉GCC对源代码进行基本优化。这些优化在大多数情况下都会使程序执行的更快。-O2选项:告诉GCC 产生尽可能小和尽可能快的代码。-O2选项将使编译的速度比使用-O时慢。但通常产生的代码执行速度会更快。,版本
5、选项,-v选项 用户将会得到自己目前正在使用的gcc的版本及与版本相关的一些信息。gcc-v 将得到如下结果:gcc-V 选项 如果安装了多个版本的gcc,并且想强制执行其中的某个版本,可以用命令通知系统用户要使用的版本。gcc-V2.6.3-v,调试和剖析选项,使用调试选项后,gcc在进行编译的时候,在目标文件(.o)和创建的可执行文件中插入额外信息,这些额外信息使gdb能够判断编译过的代码和源代码之间的关系。-g选项:告诉GCC产生能被 GNU 调试器使用的调试信息以便调试你的程序。例:gcc g o test3 test3.c-pg选项:告诉GCC在你的程序里加入额外的代码,执行时,产生
6、gprof用的剖析信息以显示你的程序的耗时情况。使用gdb调试工具,命令行如下:例:gcc ggdb3 o test3 test3.c,用gdb调试GCC程序,gdb是一个用来调试C和C+程序的常用调试工具之一。gdb所提供的一些功能:监视程序中变量的值。设置断点以使程序在指定的代码行上停止执行。逐行执行代码。分析崩溃程序的产生的core文件,gdb基本用法,需要调试的程序,在编译时要使用调试选项。在默认的情况下,调试符号不会编译到程序中。调试之后,不需要重新编译程序。gdb filename出现(gdb)在这里,可以输入调试命令,基本gdb命令,file 装入想要调试的可执行文件。kill
7、终止正在调试的程序。list 执行一行源代码但不进入函数内部。next 执行一行源代码但不进入函数内部。step 执行一行源代码而且进入函数内部。run 执行当前被调试的程序quit 终止 gdbwatch 能监视一个变量的值而不管它何时被改变。break 在代码里设置断点,这将使程序执行到这里时被挂起。make 能不退出 gdb 就可以重新产生可执行文件。shell 能不离开 gdb 就执行 UNIX shell 命令。,GDB的静态调试启动方法,当需要在命令行通过gdb来启动可执行程序的时候:gdb 此时gdb会加载可执行程序的符号表和堆栈,并为启动程序作好准备;设置可执行程序的命令行参数
8、:set args 设置断点:b或break通过命令r或run来启动程序,或者通过c或continue命令来继续已经被暂停的程序;当程序core的时候,需要查看core文件的内容,使用以下方式:gdb 此时候,gdb会结合可执行程序的符号和堆栈来查看core文件内容,以分析程序在core掉时的内存影象;,GDB的动态调试启动方法,动态调试就是在不终止正在运行的进程的情况下来对这个正在运行的进程进行调试gdb 直接在gdb中把一个正在运行的进程连接到gdb中,以便于进行动态调试使用attach命令:attach detach:调试结束之后,可以使用该命令断开进程与gdb的连接使用attach命令
9、的例子:gdbfile#指定进程所关联的程序源代码和符号表 attach.使用gdb的命令进行调试;.detach#调试结束,解除进程与gdb的连接,使进程继续运行,GDB调试过程中使用到的概念和命令,gdb的工作路径:pwd:查看gdb当前的工作路径;cd:改变gdb当前的工作路径;info terminal:显示gdb当前所使用的终端的类型信息,gdb的环境,show paths:显示当前路径变量的设置情况;show environment/env VARNAME:显示程序的环境变量VARNAME的值;set environment/env VARNAME=VALUE:设置程序的某个环境变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 培训 编程
链接地址:https://www.31ppt.com/p-5437948.html