第3章嵌入式编程基础知识案例.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5、写文件 int write(int fd, const void *buf, size_t count) 功能: 把count个字节从buf指向的缓冲区中写到文 件描述符fd所指向的文件中,返回值为实际写入的 字节数。 若write调用出现错误,则返回值为-1,对应的错误 代码保存在全局变量errno中。 6、文件指针定位 int lseek(int fd, offset_t offset, int whence) 功能: 将文件读写指针相对whence移动offset个字节。 操作成功时,返回文件指针相对于文件头的位置。 whence可使用下述值: SEEK_SET:相对文件开头(0) SEEK_CUR:相对文件读写指针的当前位置(1) SEEK_END:相对文件末尾(2) offset为正,则指针向后移动,为负值,指针向前移动。 应用示例 #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdlib.h> #include <stdio.h> int main(void) { int fd1,fd2,fd3,nbytes; int flags=O_CREAT|O_TRUNC|O_WRONLY; char buf[10]; if((fd1=open("rdwr.c",O_RDONLY,0644))<0){ perror("open rdwr.c"); exit(EXIT_FAILURE); } if((fd2=open("/dev/null",O_WRONLY))<0){ perror("open /dev/null"); exit(EXIT_FAILURE); } if((fd3=open("/tmp/foo.bar",flags,0644))<0){ perror("open /tmp/foo.bar"); close(fd1); close(fd2); exit(EXIT_FAILURE); } while((nbytes=read(fd1,buf,10))>0){ if(write(fd2,buf,10)<0) perror("write /dev/null"); if(write(fd3,buf,nbytes)<0) perror("write /tmp/foo.bar"); write(STDOUT_FILENO,buf,10); } close(fd1); close(fd2); close(fd3); exit(EXIT_SUCCESS); } 本章习题 编写一个Makefile程序 3.2.3 Makefile常用函数 函数调用格式如下: $(function arguments) 参数名和函数名之间用空格或Tab隔开,如有多个参数,参数之间用逗号隔开。 (1) $(subst from,to,text) 例如:$(subst ee,EE,feet on the street) 结果为:fEEt on the strEEt (2)$(patsubst pattern,replacement,text) 例如:$(patsubst %.c,%.o,x.c .c bar.c) 结果为:x.c.o bar.o File: Makefile src := $(shell ls *.c) objs := $(patsubst %.c , %.o , $(src)) test : $(objs) gcc -o $@ $^ %.o : %.c gcc -c -o $@ $< clean: rm -f test *.o 依赖关系图 使用make的一个核心问题是确定好各文件之间的依赖关系。一般来说,生 成一个目标文件可能有多个不同的途径,根据这些途径能够指定不同的 依赖关系。 prog: x.o y.o z.o assmb.o gcc

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档