第5章 嵌入式Linux应用程序开发.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 嵌入式Linux应用程序开发 5.1 开发环境的建立 5.2 Linux及开发工具的使用 Linux常用命令 gcc编译器的使用 Makefile文件和Make命令 配置文件 Vi编辑器的使用 Linux下C语言编程 5.3 引导程序的移植 嵌入式Linux的引导机理分析 VIVI简介 VIVI的代码分析与移植 5.4 Linux操作系统的移植 内核移植 系统移植 5.5 应用程序的调试 编写应用程序 下载应用程序 调试应用程序 5.6 综合训练之建立嵌入式操作系统 2.进入 在提示符“$”后键入Vi和想要编辑的文件名,便可进入Vi。例如: $?vi?example.c 如果只键入Vi,而不带文件名,也可以进入Vi,之后在光标处键入文件内容。进入Vi后,首先进入的就是命令模式,进入Vi时,用户不仅可以指定一个待编辑的文件名,而且还有许多附加操作。如果希望在进入Vi之后,光标处于文件中特定的某行上,可在Vi后加上选项+n,其中n为指定的行数。例如: $?vi?+5?example1.c 3.退出 在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出,返回到shell。 在末行模式下,输入命令: :w Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起一个新的文件名。 :w?newfile 此时Vi将把当前文件的内容保存到指定的newfile中,而原有文件保持不变。 在末行模式下,输入命令: :q 系统退出Vi返回到shell。若在用此命令退出Vi时,编辑文件没有被保存,则Vi在显示窗口的最末行显示如下信息: No?write?since?last?change?(use?!?to?overrides) 提示用户该文件被修改后没有保存,然后Vi并不退出,继续等待用户命令。若用户就是不想保存被修改后的文件而要强行退出Vi时,可使用命令: :q! 1.文件读写 当需要打开一个文件进行读写操作的时候,可以使用系统调用函数open。文件操作完成后,调用close函数关闭文件。 int?open(const?char?*pathname,int?flags);? int?open(const?char?*pathname,int?flags,mode_t?mode);? int?close(int?fd);? open函数有两个形式,在此只介绍第一种方式。其中pathname是我们要打开的文件名,包含路径名称,默认是在当前路径下。Flags取值可以是下面的一个值或者是几个值的组合。 ? O_RDONLY:以只读的方式打开文件; ? O_WRONLY:以只写的方式打开文件; ? O_RDWR:以读写的方式打开文件; ? O_APPEND:以追加的方式打开文件; ? O_CREAT:创建一个文件;要采用open的第二种形式; ? O_EXEC:使用该选项时,如果使用了O_CREAT而且文件已经存在,就会发生一个错误; ? O_NOBLOCK:以非阻塞的方式打开一个文件; ? O_TRUNC:如果文件已经存在,则删除文件的内容。 如果打开文件成功,open会返回一个文件描述符。以后对文件的所有操作就可以对这个文件描述符进行操作了。当操作完成以后,要关闭文件时,只要调用close就可以了,其中fd是要关闭的文件描述符。 文件打开后,就可以调用函数read和write进行文件的读写。 ssize_t?read(int?fd,?void?*buffer,size_t?count);? ssize_t?write(int?fd,?const?void?*buffer,size_t?count);? fd是要进行读写操作的文件描述符,buffer是要写入文件内容或读出文件内容的内存地址,count是要读写的字节数。 对于普通的文件,read从指定的文件(fd)中读取count个字节到buffer缓冲区中,同时返回count。如果read读到了文件的结尾或者被一个信号所中断,返回值会小于count。如果是由信号中断引起返回,而且没有读出数据,read会返回?1,且设置errno为EINTR。当程序读到了文件结尾的时候,read会返回0。 write从buffer中写count字节到文件fd中,成功时返回实际所写的字节数。 #define?BUFFER_SIZE?1024? int?main(int?argc,char?**argv)?{? int?from_fd,to_fd; int?bytes_read,bytes_write;?

文档评论(0)

小玉儿 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档