Linux操作系统实用教程12.ppt

上传人:qwe****56 文档编号:70279181 上传时间:2023-01-18 格式:PPT 页数:25 大小:1.58MB
返回 下载 相关 举报
Linux操作系统实用教程12.ppt_第1页
第1页 / 共25页
Linux操作系统实用教程12.ppt_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《Linux操作系统实用教程12.ppt》由会员分享,可在线阅读,更多相关《Linux操作系统实用教程12.ppt(25页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Linux应用基础应用基础十二十二 Linux系统下的编程系统下的编程信息与通信工程学院信息与通信工程学院十二十二 Linux系统下的编程系统下的编程第十二章 Linux系统下的编程管理v本章目标熟悉Linux编程环境和常用开发工具熟练掌握Linux下的C/C+语言编程方法学会在Linux下进行Java语言编程了解Linux下的编程工具GNU make和程序调试器GDB了解Linux网络编程中网络概念和Socket编程函数了解嵌入式开发平台和开发过程了解Linux内核及内核的体系结构Linux操作系统实用教程十二十二 Linux系统下的编程系统下的编程第十二章 Linux系统下的编程管理v12

2、.1 Linux编程环境及工具v12.2 Linux高级语言编程开发v12.3 Linux网络编程v12.4 Linux嵌入式程序开发v12.5 内核基础Linux操作系统实用教程12.1 Linux编程环境及工具编程环境及工具v12.1.1 程序开发过程 编译过程编辑编译汇编连接执行解释过程Javav12.1.2 Linux编程环境和开发工具基于文本模式的开发平台编辑工具:vi,Emacs编译工具:gcc调试工具:gdb集成开发平台Eclipse,KylixLinux操作系统实用教程12.2 Linux高级语言编程开发高级语言编程开发 v12.2.1 Linux下C语言编程gcc(GNU C

3、ompiler Collection)http:/gcc.gnu.orgGCC 4.3.0 GCC 2.95 July 31,1999 GCC 3.0 June 18,2001 GCC 3.2 August 14,2002 GCC 3.3May 13,2003 GCC 4.4.3 GCC 4.6.2 Oct 26,2011Linux操作系统实用教程12.2 Linux高级语言编程开发高级语言编程开发 v12.2.1 Linux下C语言编程gcc编译过程格式:$gcc 选项 要编译的文件 选项 目标文件Pre-processor(cpp/gcc-E)Compiler(cc1/gcc-S)Asse

4、mbler(as/gcc-c)Linker(ld)hello.c(text)hello.i(text)hello.s(text)hello.o(binary)hello(binary)printf.o(binary)预处理:生成文件编译文件.i编译:代码翻译成汇编语言编译文件.s汇编:转成目标文件编译文件.o二进制代码连接:默认使用动态库,生成可执行文件Linux操作系统实用教程12.2 Linux高级语言编程开发高级语言编程开发 v12.2.1 Linux下C语言编程gcc编译选项选项 含义-c 只是编译不链接,生成目标文件“.o”-S 只是编译不汇编,生成汇编代码 -E 只进行预编译,不做

5、其他处理 -g 在可执行程序中包含标准调试信息 -o file 把输出文件输出到file 里 -v 打印出编译器内部编译各过程的命令行信息和编译器的版本 -I dir 在头文件的搜索路径列表中添加dir 目录 -L dir 在库文件的搜索路径列表中添加dir 目录 -static 链接静态库 -llibrary 连接名为library 的库文件 Linux操作系统实用教程12.2 Linux高级语言编程开发高级语言编程开发 v12.2.2 Linux下C+语言编程 gcc v12.2.3 Linux下Java语言编程 Java源代码翻译成Java字节码Java虚拟机解释Linux操作系统实用教

6、程12.2 Linux高级语言编程开发高级语言编程开发 v12.2.4 Linux下编程工具GNU make GNU make概述工程管理器/自动编译管理器 Makefile文件Makefile文件结构 target.:dependency_mand/键跳格autotools工具集Makefile文件示例 Linux操作系统实用教程12.2 Linux高级语言编程开发高级语言编程开发 v12.2.5 Linux下程序调试工具gdb GNU Debuggergdb 调试可执行文件$gdb programname对编译过程有要求(gcc-g file_src file_obj)命令行操作Linux

7、操作系统实用教程12.2 Linux高级语言编程开发高级语言编程开发 v12.2.5 Linux下程序调试工具gdb gdb的操作基础查看文件 l设置断点 b n查看断点情况 info b运行代码 r查看变量值 p+变量名单步运行 n s恢复程序运行 cLinux操作系统实用教程12.2 Linux高级语言编程开发高级语言编程开发 v12.2.5 Linux下程序调试工具gdb gdb的基本命令help工作环境相关命令设置断点与恢复命令函数断点条件断点gdb 中源码查看相关命令gdb 中查看运行数据相关命令gdb 中修改运行参数相关命令Linux操作系统实用教程12.3 Linux网络编程网络

8、编程v12.3.1 网络协议OSI模型(7层)应用层表示层会话层传输层网络层数据链路层物理层TCP/IP模型(4层)应用层传输层UDP协议,TCP协议网络层IP协议,ICMP协议(ping)网络接口层Linux操作系统实用教程12.3 Linux网络编程网络编程v12.3.2 端口和地址 Port,Address端口可以认为是计算机与外界通讯交流的出口应用程序(调入内存运行后一般称为:进程)通过系统调用与某端口建立连接(binding,绑定)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都从该端口输出在TCP/IP协议的实现中,端口操作类似于一般的I/O操作,进程获取

9、一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写方式访问类似于文件描述符,每个端口都拥有一个叫端口号的整数描述符,用来区别不同的端口Linux操作系统实用教程12.3 Linux网络编程网络编程v12.3.2 端口和地址 端口的分类1.公认端口(WellKnown Ports)0到1023紧密绑定于一些服务,通常这些端口的通讯明确表明了某种服务的协议HTTP,80;Telnet,23;SSH,22;FTP,212.注册端口(Registered Ports)1024到49151它们松散地绑定于一些服务,也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的许多系统处理动态端口

10、从1024左右开始3.动态/私有端口(Dynamic/Private Ports)49152到65535理论上,不应为服务分配这些端口实际上,机器通常从1024起分配动态端口例外:SUN的RPC端口从32768开始Linux操作系统实用教程12.3 Linux网络编程网络编程v12.3.3 SOCKET网络编程 端口:传输层与应用程序的数据接口,决定协议,可分配套接口:进程之间通信的抽象连接点,它封装了端口、主机地址、传输层通信协议三方面内涵,随机两个网络进程采用套接口方式通信时,两进程扮演的角色不同,它们使用的套接口也不同客户:主动请求服务,通过使用客户建立的套接口Socket,主动与对方连

11、接服务器:等待接收客户服务请求,使用服务器套接口ServerSocket,提供服务,返回结果 Linux操作系统实用教程12.3 Linux网络编程网络编程v12.3.3 SOCKET网络编程 Socket类型流式套接口SOCKET_STREAMFTP,TCP数据报套接口SOCKET_DGRAMNFS,UDP原始套接口SOCKET_RAW协议测试Linux操作系统实用教程12.3 Linux网络编程网络编程v12.3.3 SOCKET网络编程 Socket程序设计流程(TCP/UDP)Linux操作系统实用教程12.4 Linux嵌入式程序开发嵌入式程序开发 v12.4.1 嵌入式开发概述嵌入

12、式系统定义 IEEE(国际电气和电子工程师协会)定义控制、监视或者辅助设备、机器和车间运行的装置devices used to control,monitor,or assist the operation of equipment,machinery or plants国内普遍认同定义 以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统 通俗理解嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分Linux操作系统实用教程12.4 Linux嵌入式程序开发嵌入式程序开发 v12.4.1 嵌入式开发概述嵌入式系统的产生及应

13、用以单芯片为核心的可编程控制器形式的系统无操作系统的支持,汇编语言编程,80C51以嵌入式CPU 为基础、以简单操作系统为核心CPU 种类繁多,通用性较弱以嵌入式操作系统为标志的嵌入式系统操作系统能运行于各种不同类型的微处理器上以Internet 为标志的嵌入式系统信息家电Linux操作系统实用教程12.4 Linux嵌入式程序开发嵌入式程序开发 v12.4.1 嵌入式开发概述主流嵌入式操作系统LinuxAndroidMicrosoft Windows CEVxWorksPalm OSLinux操作系统实用教程12.4 Linux嵌入式程序开发嵌入式程序开发 v12.4.2 Linux嵌入式的优势源代码开放可支持多种应用平台可定制内核网络支持性能优异Linux操作系统实用教程12.4 Linux嵌入式程序开发嵌入式程序开发 v12.4.3 嵌入式开发设计过程 建立交叉开发环境主机/目标机交叉编译和连接重定位和下载联机调试Linux操作系统实用教程12.5 内核基础内核基础 v12.5.1 内核概述单内核结构 v12.5.2 Linux内核体系结构 系统调用接口内核代码依赖于体系结构的代码目录结构v12.5.3 内核的主要子系统 PM,进程调度MM,内存管理VFS,虚拟文件系统Linux操作系统实用教程Linux操作系统实用教程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com