版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020年7月15日星期三,生物医学工程学院电子技术系,1,第五讲 Linux操作系统,2020年7月15日星期三,生物医学工程学院电子技术系,2,第6章 Linux操作系统,本章主要内容 Linux概论 嵌入式Linux uClinux操作系统及其开发环境 嵌入式实时操作系统和实时Linux Linux常见术语和常用命令 gcc编译器和makefile,2020年7月15日星期三,生物医学工程学院电子技术系,3,第6章 Linux操作系统,第1节 Linux起源,2020年7月15日星期三,生物医学工程学院电子技术系,4,第1节 Linux起源,6.1 Linux概论 Linux具备UNIX
2、系统的全部特征,多任务、虚拟内存、共享库、需求装载、共享的写时复制程序执行、内存管理及TCP/IP网络支持。,2020年7月15日星期三,生物医学工程学院电子技术系,5,6.1 Linux起源,6.1.1 linux的起源 Linux属于一种具有UNIX风格的操作系统,它的源代码级上兼容绝大部分UNIX标准(如IEEE POSIX、System V、BSD),支持多用户、多线程,实时性较好,功能强大、性能稳定。可以运行在x86PC、Sun Sparc、Digital Alpha、680 x0、PowerPC、MIPS等平台上。 1990年,芬兰赫尔辛基大学的学生用汇编语言编写一个在80386保
3、护模式下处理多任务切换的程序,这是最早出现的Linux操作系统的雏形。 1993-1994,诞生了Linux1.0版,该版已是一个功能完备的操作系统了。1.3版的Linux开始向其他平台移植。 2.1.xx内核出现后开始走高端道路,具备良好的兼容性和可移植性。,2020年7月15日星期三,生物医学工程学院电子技术系,6,6.1 Linux起源,6.1.2 Linux与GNU 当前流行的软件可分为:商业软件、共享软件和自由软件。 1984年,出现了一个基于自由软件的软件计划,被称为GNU(Gnus Not UNIX),目标是替代UNIX操作系统,并拟定了一份称为公共版式权许可(GPL)的文件。其
4、宗旨是:消除对于计算机程序拷贝、分发、理解和修改的限制。源代码公开。,2020年7月15日星期三,生物医学工程学院电子技术系,7,6.1 Linux起源,使用Linux的理由 Linux和商用UNIX都基本支持同样的软件、程序设计环境和网络特性,可以说Linux是UNIX的PC版本,Linux在PC机上提供了相当于UNIX工作站的性能。 Linux是免费软件,用户可以从网上下载,而商用的UNIX除了软件本身的价格外,用户还需支付文档、售后服务费用; Linux拥有GNU软件支持,Linux能够运行GNU计划的大量免费软件,这些软件包括应用程序开发、文字处理、游戏等方面的内容; Linux的开发
5、是开放的,任何志愿者都可以对开发过程做出贡献;而商用UNIX则是由专门的软件公司进行开发的。,2020年7月15日星期三,生物医学工程学院电子技术系,8,Linux的功能 主机管理 系统安装 硬件配置 文本编辑 桌面系统 文件系统 shell编程 用户管理 备份还原 网络服务 网络协议 DNS DHCP Samba NFS FTP HTTP,WWW Email 网络安全,2020年7月15日星期三,生物医学工程学院电子技术系,9,Linux 9中的主要套件,2020年7月15日星期三,生物医学工程学院电子技术系,10,文件系统的多级树状目录结构,2020年7月15日星期三,生物医学工程学院电子
6、技术系,11,Linux的目录结构 树型目录结构 dir1/-dir2/-file12 |-dir3/- |-dir4 |. . 根目录组织 /-root/ :超级用户目录 包括桌面管理等 |-home/ :用户目录 包括用户信息等 |-bin/ :执行目录可执行文件常用命令 |-sbin/ :执行目录不提供给用户使用的命令 |-boot/ :引导目录引导系统使用的文件 |-etc/ :配置目录 系统配置时使用,2020年7月15日星期三,生物医学工程学院电子技术系,12,|-dev/:设备目录 通过它访问外设 |-mnt/:安装目录 管理员设备临时安装点 |-opt/:安装目录 管理员软件包
7、放置点 |-lib/:库目录 命令执行时使用 |-usr/:共享目录 所有用户的共享文件 |-var/:数据目录 系统运行时要修改数据 |-tmp/:数据目录 系统运行时要修改数据 |-proc/:虚拟目录 文件系统内存产生 |-lost+found/:空目录,2020年7月15日星期三,生物医学工程学院电子技术系,13,6.1 Linux起源,6.1.3 Linux内核概况 OS的内核是计算机系统的心脏,是最高管理机构。Linux内核包含了5大部分内容:进程调度,内存管理,进程间通信,虚拟文件系统及网络接口。 1.Linux内核在操作系统中的位置 图6.1为Linux内核在操作系统的位置图示
8、。 Linux操作系统由4个层次组成:用户进程、系统调用接口、Linux内核和硬件。,2020年7月15日星期三,生物医学工程学院电子技术系,14,6.1 Linux起源,2020年7月15日星期三,生物医学工程学院电子技术系,15,2. Linux内核的抽象结构 Linux内核由5个子系统组成。,6.1 Linux起源,2020年7月15日星期三,生物医学工程学院电子技术系,16, 进程调度子系统:控制进程对CPU的访问。Linux使用基于优先级的进程调度算法。 内存管理子系统:允许多个进程安全地共享主内存区域。 逻辑上分为: 硬件无关:提供进程的映射和虚拟内存的对换。 硬件相关:为内存管理
9、硬件提供了虚拟接口。,6.1 Linux起源,2020年7月15日星期三,生物医学工程学院电子技术系,17, 虚拟文件系统子系统(VFS):避开了各种硬件的具体细节,为所有硬件提供统一的接口。 VFS分为:逻辑文件系统:Linux支持的文件系统。如ext2,FAT。 设备驱动程序:为某种硬件的设备驱动。 网络子系统:提供对各种网络标准协议的存取和各种网络硬件的支持。 可为分:网络协议和网络设备驱动程序。 进程间通信子系统(IPC,Interprocess Communication):提供进程间多种通信机制。多个进程同时在同一任务协调工作上,需要进程间进行信息交互。 Linux提供包括管道(p
10、ipe)、System V的IPC机制和信号、网络兼容的进程间通信机制Sockets。,6.1 Linux起源,2020年7月15日星期三,生物医学工程学院电子技术系,18,6.1 Linux起源,6.1.4 Linux内核的微型化 嵌入式应用对操作系统的要求是:功能具有针对性,效率高,占用资源少,启动速度快,有些应用需要实时性。Linux是开放内核的,因此可根据应用的需要定制。 Linux内核采用模块化设计,许多模块可独立加上或卸下,设计时采用将相应的内核模块作为可选的选项,在编译系统内核时指定。,2020年7月15日星期三,生物医学工程学院电子技术系,19,第6章 Linux操作系统,第2
11、节 嵌入式Linux,2020年7月15日星期三,生物医学工程学院电子技术系,20,6.2 嵌入式Linux,6.2 嵌入式Linux 嵌入式Linux:经过小型化裁剪后,能够固化在容量为几百KB至几十MB的存储器芯片或单片机中。,2020年7月15日星期三,生物医学工程学院电子技术系,21,6.2 嵌入式Linux,6.2.1 Linux应用于嵌入式系统的优势和不足 Linux的优势 开放源代码,软件资源丰富 内核功能强大 支持多种体系结构 支持:Intel x86、Motorola 68K系列、IBM、Apple、Motorola PowerPC、Intel Strong ARM、XSca
12、le。 完善的网络通信和成熟的文件图形系统 支持网络协议:TCP/IP,嵌入式TCP/IP 支持文件系统:ext2、FAT16、FAT32、romfs。 支持图形系统:X Windows、Embeded QT、MiniGUI、嵌入式GUI。 丰富的驱动程序 完备的开发工具链,2020年7月15日星期三,生物医学工程学院电子技术系,22,6.2 嵌入式Linux,6.2.1 Linux应用于嵌入式系统的优势和不足 Linux的不足 软件开发的效率和功能 Linux采用“Native方式”进行开发,即本机开发、调试和本机运行的方式。一般系统这种方式是没问题的,一旦开发较强的嵌入式应用系统时,缺乏足
13、够的资源在本机上运行开发工具和调试设备,因此通常采用交互式编译调试方式(如GNU编译器)。 软件的实时性问题 实时性是许多嵌入式系统所要求的,Linux本身不是一种实时操作系统,其内核不是完全可抢占的。 内存及其管理问题 一个典型Linux内核未压缩时至少占1.5MB左右内存,运行时达4MB,甚者达几百MB。 另一方面:标准Linux针对带内存管理单元(MMU)的处理器,但许多嵌入式处理器不带MMU。,2020年7月15日星期三,生物医学工程学院电子技术系,23,6.2 嵌入式Linux,6.2.2 嵌入式Linux的应用举例 PDA 新型手机 机顶盒 各种与网络相关的BOX 其他,2020年
14、7月15日星期三,生物医学工程学院电子技术系,24,第6章 Linux操作系统,第3节 uCinux操作系统及其开发环境,2020年7月15日星期三,生物医学工程学院电子技术系,25,6.3 uCinux操作系统及其开发环境,uClinux(Clinux):微控制linux,因多应用于嵌入式系统,故称为嵌入式uClinux。 uClinux操作系统组成:引导程序、uClinux内核和文件系统。 uClinux通过定制小型化,放在ROM、RAM、Flash或片上磁盘(disk on chip)中启动。,2020年7月15日星期三,生物医学工程学院电子技术系,26,6.3 uCinux操作系统及其
15、开发环境,6.3.1 uClinux操作系统 1uClinux内核结构 uClinux内核结构如图6.8所示,与Linux基本相同,不同部分改写了内存管理和进程管理,可用于无MMU的处理器的应用场合。 uClinux是Linux2.0内核发展来的,为无MMU的处理器设计的嵌入式Linux操作系统。,2020年7月15日星期三,生物医学工程学院电子技术系,27,6.3 uCinux操作系统及其开发环境,2采用的小型化方法 uClinux是由Linux裁剪后行得到的,被固化在容量只有几百KB的存储器芯片或单片机上。 内核加载方式方面 Linux在启动时加载到内存中运行,而uClinux的内核可加载
16、到内存中运行,也可加载到Flash上直接运行。 根(root)文件系统方面 uClinux采用romfs文件系统,特点(与ext2文件系统比较):空间小。原因该文件系统所用的代码少,文件系统相对简单。建立文件系统超级块时需要较少的存储空间。不支持动态擦写保护。需要动态保存数据时,采用虚拟RAM盘(ext2文件系统)或Flash(jffs文件系统)。 应用程序库方面 uClinux精简了libc库,对用户程序采用静态链接的形式,尽管会使应用程序变大,但比较适合基于内存管理的模式,也适合于嵌入式系统的通常做法。,2020年7月15日星期三,生物医学工程学院电子技术系,28,6.3 uCinux操作
17、系统及其开发环境,3内存管理 uClinux与标准Linux的最大区别在于内存管理,由此产生一些新的问题。 Linux适合有MMU的处理器,虚拟地址被送到MMU,MMU把虚拟地址映射为物理地址,不同任务有相应的虚拟物理地址转换映射,实现不同任务间的保护。 对于uClinux,不能使用虚拟内存管理技术,采用存储器分页管理,系统在启动时对实际存储器进行分页,在加载应用程序时程序分页加载,属于实存储器管理(,Real Memeory Management)策略。程序中访问的地址都是实际的物理地址,操作系统对内存空间没有保护,所有进程共享一个运行空间。程序员在编译内核时,需要对内存进行分页。,2020
18、年7月15日星期三,生物医学工程学院电子技术系,29,6.3 uCinux操作系统及其开发环境,4多进程处理 由于uClinux没有管理内存,因此在进程之间切换时需要对数据进行保护。启动新的应用程序时,系统需为应用程序分配存储空间,将应用程序加载到内存,对其定位处理,使程序在执行时能直接使用物理内存。 5实时性的解决方案 uClinux不具备实时性的能力,实时性方案由RTLinux(Real Time Linux)来实现,RT Linux执行管理器把inux的内核作为一个任务运行,同时管理实时进程,而非实时进程交由普通Linux内核处理。uClinux使用了RT Linux的补丁,解决了实时问
19、题。,2020年7月15日星期三,生物医学工程学院电子技术系,30,6.3 uCinux操作系统及其开发环境,6.3.2 uClinux的应用开发环境 开发环境由目标系统硬件开发板和宿主构成。前者运行操作系统和应用程序;后者完成操作系统内核的编译、应用程序的开发和调试。 首先在上安装标准Linux发行版,如RedHat Linux,或者在windows下安装一套模拟Linex环境的软件,如Cygwin。 可在网上获得uClinux和相关工具集的源代码。 开发环境建立:结合实验建立开发环境。,2020年7月15日星期三,生物医学工程学院电子技术系,31,6.3 uCinux操作系统及其开发环境,
20、6.3.2 uClinux的应用开发环境 如果是团队开发,最好架设一台Linux服务器,开发人员从客户端使用Telnet登录到服务器,开发板也连接到同一个局域网内。 使用服务器的Linux环境下的gcc编译生成目标代码,通过FTP传到每个客户端,再通过串口或网络下载到开发板。 下面是一个网络架构的开发环境示意图。,2020年7月15日星期三,生物医学工程学院电子技术系,32,6.3 uCinux操作系统及其开发环境,嵌入式系统网络开发环境,2020年7月15日星期三,生物医学工程学院电子技术系,33,6.3 uCinux操作系统及其开发环境,6.3.2 uClinux的应用开发环境 开发环境的
21、建立通常按如下步骤进行。 安装编译工具包 uClinux有两套编译工具:m68k-coff 和m68k-elf,都是GNU C语言编译器的不同版本。两者的差异仅在于中间代码格式的不同,coff和elf格式。后者的编译器比前者有许多优势,通常使用后者编译器。编译工具包还有链接器(ld)、汇编器(as),以及一些为了方便开发的二进制处理工具。,2020年7月15日星期三,生物医学工程学院电子技术系,34,6.3 uCinux操作系统及其开发环境, 安装uClinux内核 利用已安装的交叉编译器编译生成运行于目标机上的uClinux内核。与标准Linux相同,uClinux内核可以用配置的方式选择需
22、要安装的模块,提高系统的灵活性。 安装应用程序库 用交叉编译器编译uC-libc和uC-libm源代码,生成libc.a应用库和libm.a数学库。,2020年7月15日星期三,生物医学工程学院电子技术系,35,6.3 uCinux操作系统及其开发环境, 安装其他工具 用gcc编译elf2flt源代码,生成格式转换工具elf2flt; 用gcc编译genromfs源代码,得到生成romfs文件系统的工具genromfs。 编写设备驱动程序及实时模块 完成上述4部分后,就可以针对特定应用所需要的设备来编写或改造设备驱动程序了。 有一些设备驱动,uClinux本身携带。没有的设备驱动,用户编写后加
23、入到uClinux内核中。 有硬件实时性要求时,可以加入RT Linux的实时模块。,2020年7月15日星期三,生物医学工程学院电子技术系,36,6.3 uCinux操作系统及其开发环境,6.3.3 uClinux的一些说明 1.开发套件 GNU开发套件包括一系列的开发调试工具. gcc:编译器,可以作为交叉编译工具,即在主机上开发编译目标板上可运行的二进制文件。 binutils:一组开发工具,包括连接器(ld),汇编器(as),反编译器(objdump)以及其他用于目标文件和档案的工具。 gdb:软件调试器,可使用多种交叉调试方法,例如,gdb-JTAG(背景调试工具)、gdbserve
24、r(使用以太网进行远程调试)等。,2020年7月15日星期三,生物医学工程学院电子技术系,37,6.3 uCinux操作系统及其开发环境,2.uClinux的打印终端 通常,uClinux默认的标准输入/输出被重定向到串口1(/dev/ttyS0)。 内核在启动时将所有信息输送到串口终端,并通过串口终端与系统交互。 uClinux在启动时启动了telnetd(远程登录服务),可远程登录到系统,控制系统的运行。 是否允许远程登录,在烧写romfs文件系统时由用户确定。,2020年7月15日星期三,生物医学工程学院电子技术系,38,6.3 uCinux操作系统及其开发环境,3. 交叉编译调试工具
25、链接时使用的相关文件: ld文件:指出链接时内存映像格式的文件。 Crt0.S:应用程序编译链接时需要的启动文件,主要是初始化应用程序栈。 Pic:与位置无关的二进制格式文件,在程序段中必须包括reloc段,保证代码加载时可以进行重新定位。 内核编译链接时,使用ld文件,形成可执行文件映像,所形成的代码段可用间接寻址,也可用绝对寻址。由于内核可用绝对寻址,所以内核加载到的内存空间必须与ld文件给定的内存空间完全相同。 应用程序由内核加载,由于应用程序的ld文件给出的内存空间与应用程序实际被加载的内存位置可能不同,因此在应用程序加载的过程中需要重新定位。,2020年7月15日星期三,生物医学工程
26、学院电子技术系,39,6.3 uCinux操作系统及其开发环境,4. 其他名词术语 coff:一种通用的对象文件格式。 elf:一种为Linux系统所采用的通用文件格式,支持动态链接。 flat:由于elf格式文件头很大,flat文件对文件头和一些段信息做了简化。uClinux系统只支持flat可执行文件格式,gcc的编译器不能直接形成flat格式,可形成coff和elf格式的可执行文件。通过coff2flt或elf2flt工具进行格式转化,形成flat格式文件。,2020年7月15日星期三,生物医学工程学院电子技术系,40,第6章 Linux操作系统,第4节 嵌入式实时操作系统和实时Linu
27、x,2020年7月15日星期三,生物医学工程学院电子技术系,41,第6章 Linux操作系统,6.4 嵌入式实时操作系统和实时Linux 嵌入式系统最重要的任务是具有实时操作系统的功能。Linux本质上不是一个嵌入式实时操作系统,其内核调度基本沿用UNIX系统的,在运行内核线程时中断关闭,分时调度策略存在时间上的不确定性,缺乏高精度的计时器。因此实时应用场合,需要进行实时化改造,构造出一个具有实时处理能力的嵌入式系统。 引入RT Linux,将uClinux作为RT Linux的一个任务,RT Linux处理实时任务,uClinux处理非实时任务,非实时任务不会影响实时任务,实时代码和非实时代
28、码分开设计。,2020年7月15日星期三,生物医学工程学院电子技术系,42,第6章 Linux操作系统,6.4 嵌入式实时操作系统和实时Linux RT Linux是含有时间紧要的函数,可以用中断管理来精确控制中断处理,从而保证关键中断能够在需要时得到执行。 与传统的RTOS相比,采用像嵌入式Linux这样开放源代码的操作的一个好处是Linux开发团队可能会比RTOS的供应商更快地支持新的IP协议和其他协议。,2020年7月15日星期三,生物医学工程学院电子技术系,43,第6章 Linux操作系统,第5节 Linux常用术语和常用命令,2020年7月15日星期三,生物医学工程学院电子技术系,4
29、4,6.5 Linux常用术语和常用命令,6.5.1 Linux常用术语 1POSIX POSIX是可移植操作系统接口(Portable Operating System Interface)的首字母缩写。POSIX是基于UNIX的,这一标准意在期望获得源代码级的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。POSIX标准定义了操作系统应该为应用程序提供的接口:系统调用集。POSIX是由IEEE(Institute of Electrical and Electronic Engineering)开发
30、的,并由ANSI(American National Standards Institute)和ISO(International Standards Organisation)标准化。大多数的操作系统(包括Windows NT)都倾向于开发它们的变体版本与POSIX兼容。,2020年7月15日星期三,生物医学工程学院电子技术系,45,6.5 Linux常用术语和常用命令,2GNU GUN项目(GNU Project)开始于1984年,主要由自由软件基金(Free Software FoundationFSF)资助的一个项目,目标是开发一个自由的、UNIX类型的操作系统,称为GNU系统。 GN
31、U是“GNUs Not UNIX ”的首字母的递归缩写。 GNU项目已经有许多编程工具,包括Emacs编译器、著名的GNU C和C+编译器(gcc和g+),适用任何计算机系统。,2020年7月15日星期三,生物医学工程学院电子技术系,46,GNU工具和所谓的Linux,通常包含: 符合POSIX标准的操作系统Shell和外围工具; C语言编译器和其他开发工具及函数库; X Window窗口系统; 各种应用软件,包括字处理软件、图像处理软件等; 其他各种Internet软件,包括FTP服务器、WWW服务器; 关系数据库管理系统等。,2020年7月15日星期三,生物医学工程学院电子技术系,47,6
32、.5 Linux常用术语和常用命令,3GPL (General Public License) 所有的GNU软件和派生工作均遵循GNU通用公共许可证,即GPL。 GPL主要目标: 是保证软件对所有的用户来说是自由的。GPL通过如下途径实现这一目标 它要求软件以源代码的形式发布,并规定任何用户能够以源代码的形式将软件复制或发布给别的用户。 它提醒每个用户,对于该软件不提供任何形式的担保。 如果用户的软件使用了受GPL保护的任何软件的一部分,那么该软件就继承了GPL软件,并因此而成为GPL软件,也就是说必须随应用程序一起发布源代码。 GPL并不排斥对自由软件进行商业性质的包装和发行,也不限制在自由
33、软件的基础上打包发行其他非自由软件。,2020年7月15日星期三,生物医学工程学院电子技术系,48,GNU LGPL(Library General Public License程序库公共许可证) 允许用户在自己的应用程序中使用程序库,即使不公开自己的源代码。用户必须能够获得在应用程序中使用的程序库的源代码,并且允许用户对这些程序库进行修改。 遵循LGPL的一种方法是,随应用程序一起发布目标代码以及可以将这些目标程序和受LGPL保护的程序库链接起来的makefile文件。 遵循LGPL的另一种比较好的方法是使用动态链接。 FSF :Free Software Foundation 自由软件基金
34、,2020年7月15日星期三,生物医学工程学院电子技术系,49,6.5 Linux常用术语和常用命令,6.5.2 Linux常用命令 以下均以RedHat Linux为例解释Linux常用命令 1.基本命令 ls:显示当前目录下的所有文件目录。 ls-a:可以看到隐藏的文件,如以“.”开关的文件。 pwd:显示当前目录路径。 ps:列举当前TTY下所有进程。 ps-A:列举系统中所有进程。 cd目录名:进入目录。 mkdir目录名:创建目录名。 rmdir目录名:删除目录名。 rm-rf目录名:强行删除整个目录内容(无法恢复),其中f表示强制不进行提示,r表示目录递归。,2020年7月15日星
35、期三,生物医学工程学院电子技术系,50,2. 文件目录匹配搜索的使用 3. ncftp工具的使用 ncftp是Linux环境下的FTP工具软件,命令格式: ncftp-u user 2 ;2为本机IP地址, ;user为本机的合法用户。,2020年7月15日星期三,生物医学工程学院电子技术系,51,4. 编程时获取帮助man 类似于VC编程中的MSDN,man即为manual,是UNIX系统手册的电子版式本。 5. 取消root密码 6. 配置PC的IP地址 7. 压缩/解压缩,2020年7月15日星期三,生物医学工程学院电子技术系,52,8. 查找
36、文件 9. vi(m)用法 Vi是linux环境下的文本编辑器。 10. 软、硬盘及光驱的使用 11. Linux下的硬盘分区,2020年7月15日星期三,生物医学工程学院电子技术系,53,第6章 Linux操作系统,第6节 gcc编译器和Makefile,2020年7月15日星期三,生物医学工程学院电子技术系,54,6.6 gcc编译器和Makefile,6.6.1 gcc编译器 gcc是GNU的C和C+编译器,它能编译3种语言:C、C+和object C(C语言的一种面向对象扩展)。 标准PC Linux上的gcc是针对Intel CPU的; Arm-elf和arm-elf-as是某些ar
37、m系统开发套件针对arm no mmu系列处理器的gcc。 gcc是这套工具链的主角,交叉编译所使用的工具也需要gcc。,2020年7月15日星期三,生物医学工程学院电子技术系,55,gcc软件包,2020年7月15日星期三,生物医学工程学院电子技术系,56,6.6 gcc编译器和Makefile,6.6.1 gcc编译器 1gcc命令的常用选项 -ansi: -c: -DMACRO: 2id文件 编译完成之后,要用ld进行链接。,2020年7月15日星期三,生物医学工程学院电子技术系,57,6.6 gcc编译器和Makefile,6.6.1 gcc编译器 3gdb Linux包含了一个称为gdb的GNU调试程序。是一个C和C+程序的调试器。 在程序运行时用于观察程序的内部结构和内存的使用情况。 在命令行上输入gdb进入调试状态,可以在命令行上指定很多选项。 或gdb 来启动gdb,并装入fname的可执行文件。 在编译时用-g选项打开调试选项。gdb常用命令自行阅读。,2020年7月15日星期三,生物医学工程学院电子技术系,58,6.6 gcc编译器和Makefile,6.6.2 Makefile 一个开发项目通常由许多源文件组成,若用gcc一个一个地编译,显然十分费时,因此在工程上一般用Make工具来自动完成编译工作。 Make工具通过一个称
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高职高尔夫服务实践(服务实践)试题及答案
- 2025年高职第一学年(大数据技术)数据挖掘技术试题及答案
- 2025年大学第二学年(食品科学与工程)食品微生物学试题及答案
- 国开电大专科《管理学基础》期末纸质考试总题库2026珍藏版
- 神经症心理科普
- 2025年KOX立体矩阵经营白皮书
- 2026上半年河南郑州理工职业学院招聘9人备考题库及一套参考答案详解
- 2026年福建莆田市霞林学校初中部教师招聘备考题库及参考答案详解1套
- 社戒社康禁毒培训课件
- 2026年河北沧州市人民医院选聘高层次人才49名备考题库及一套完整答案详解
- ISO 9001(DIS)-2026与ISO9001-2015英文标准对照版(编辑-2025年9月)
- 2024译林版七年级英语上册知识清单
- 通信凝冻期间安全培训课件
- 股东查账申请书规范撰写范文
- 肾囊肿护理查房要点
- 2025年挂面制造行业研究报告及未来发展趋势预测
- 艾媒咨询2025年中国新式茶饮大数据研究及消费行为调查数据
- 半导体安全培训课件
- 顶管施工临时用电方案
- 广东省惠州市高三上学期第一次调研考英语试题-1
- 泸州老窖酿酒有限责任公司酿酒废弃物热化学能源化与资源化耦合利用技术环评报告
评论
0/150
提交评论