TCPIP与socket编程.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IP源代码分析   这部分内容是一批研究生通过多个假期,进行源代码分析,收集了大量来自于互联网络的资料,经过整理而成。   同时,每年都有一批本科毕业生,会加入对源代码进行分析的工作,并借此提升自己对网络功能的了解。   希望这个工作一直继续下去,并在同学们中间形成一种阅读Linux网络代码的热潮,同时希望同学们能够做到互相学习、共同探讨、一起进步。 按照书本内容进行讲解 3.3.3 IP协议编程 Unix编程方法与环境 推荐工具书《Linux编程宝典》——电子工业出版社 Linux下编辑器   Linux下流行的编辑器有vi和Emacs,其中vi的编辑命令复杂,而Emacs采用IDE方式,使用较为简单,同时该软件拥有Xwindows界面下的Xemacs,支持图形化界面。   推荐使用Windows平台下的Linux模拟环境Cygwin,安装方法见下发的光盘。   使用Linux下的Xwindows应用程序,需要配置安装配置winaxeplus等Xterm软件。 Linux下C开发环境   在Linux环境下进行开发工作时,大量的工作将以C开发环境为中心,即gcc。gcc是GNU C Compiler的缩写,是GNU/Linux系统下的标准C编译器。   通过gcc对C程序文件进行编译的格式   # gcc test.c   //gcc将产生一个名为test.out的可执行文件,运行程序员在test.c中编写的程序   参数:-o 修改输出文件名   # gcc –o test test.c //编译test.c,将输出可执行程序的名字改为test gcc   参数:-W 获取警告信息   # gcc –Wall test test.c //编译test.c,输出所有警告信息   # gcc –Werrorl test test.c //编译test.c,将所有警告信息作为错误处理   参数:-0 优化编译,分为三个等级,优化程度越高,代码运行越快,代码大小就越大   # gcc –01 test test.c  //编译test.c,以第一级别优化,默认优化    参数:-g 产生调试标记,利于gdb调试   # gcc –g test test.c  //编译test.c,gcc在可执行程序与目标文件中插入额外信息,以便于发现源程序执行至哪一行出错   参数:-I 指定头文件所在的目录   # gcc –I/usr/include/myhead test.c //编译test.c,指出test.c中使用的在默认目录之外的头文件所在目录      参数:-L 指定库文件所在的目录   # gcc –L/usr/libinclude/mylib test.c //编译test.c,指出test.c中使用的在默认目录之外的库文件所在目录   gcc的其他高级参数见《 Linux编程宝典》 make   当程序变的越来越复杂实,对程序的处理也越来越复杂,Linux提供了GNU make对程序项目进行管理。GNU make根据在Makefile文件中定义的规则进行程序处理,执行编译、汇编、连接等多种操作。   当获得了源程序及其Makefile文件后,运行“make”,GNU make将根据文件中的规则自动进行编译等操作。   Makefile文件中定义了三种类型的规则:   创建规则制定的文件;   指定形成最终可执行文件的必需过程;   指出每个文件的依赖性列表。 Makefile的实例: all: myprogram Myprogram: io.o init.o compute.o gcc –o myprogram io.o init.o compute.o compute.o: compute.c gcc –Wall –c –o compute.o compute.c init.o: init.c gcc –Wall –c –o init.o init.c io.o: io.c gcc –Wall –c –o io.o io.c Makefile必须以Tab开头,如果采用空格,GNU make就无法识别; 在Makefile中,“:”符号表示左边的文件或选项依赖于右边的文件; GNU make通过依赖关系中文件的时间来判断是否需要进行重新编译; Makefile文件中可以定义变量,如“CC=gcc ”,也可以用$(变量名)来获取变量的值; Raw套接字及其操作  BSD套接字用raw类型的套接字(又称为原始套接字)主要用于实现基于I

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档