东北大学嵌入式技术LINUX C编程佘黎煌.pdfVIP

东北大学嵌入式技术LINUX C编程佘黎煌.pdf

  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文档。上传文档
查看更多
东北大学嵌入式技术LINUX C编程佘黎煌

LINUX C 编程实验 --哈哈哈 哈哈哈 一、编写一个文件读写的例子,将个人的班级,学号,姓名写入一个文本 文件中,然后读出来并显示 1.基本原理: 1) 使用open 函数创建 (打开)文件,并制定文件的权限; 2) 创建文件时选择覆盖原数据,所以字符指针在文件首,直接调用write 函数 写数据; 3) 因写完数据后光标在文件未,需要lseek 函数将字符指针移到文件首,然后 用read 函数进行读取; 4) 对读取的数据进行打印显示。 2.代码: //filerw.c #includestdio.h #includestdlib.h #includestring.h #includeunistd.h #includesys/types.h #includesys/stat.h #includesys/file.h intmain() { charw_ifo[]aoYudianzi1301; charr_ifo[64]; int i; int fd open(/home/gaoyu/Desktop/stuifo.txt,O_RDWR|O_CREAT|O_TRUNC,0666); int len strlen(w_ifo)+ 1; int size write(fd,w_ifo,len); lseek(fd,0,SEEK_SET); intret read(fd,r_ifo,len); for(i 0;ilen;i++) {printf(%c,r_ifo[i]);} printf(\n); close(fd); return0; } 3.运行结果 二、编写一个带三个线程的例子,运行时间分别100ms,200ms,300ms 1.基本原理 1) 创建互斥锁 2) 创建3 个线程thread1,2,3;每个线程分别执行各自的函数 3) 在线程执行启动函数时,先对互斥锁进行加锁,将其它线程挂起,保证线程 执行不受干扰;然后对公共变量number 进行加1 操作;执行完后进行解锁: 退出线程 4) 等待线程结束,对线程进行阻塞 2.代码 //thread.c #includepthread.h #includestdio.h #includeunistd.h #includestring.h #defineMAX 10 pthread_tthread[3]; pthread_mutex_tmut; intnumber 0,i; void *thread1() {printf (thread1:Imthread 1\n); for (i 0;iMAX;i++) {pthread_mutex_lock(mut); number++; pthread_mutex_unlock(mut); usleep(10000);} printf(thread1:number %d\n,number); printf(thread1:work done!\n); pthread_exit(NULL); } void *thread2() {printf(thread2 :Imthread2\n); for (i 0;iMAX*2;i++) {pthread_mutex_lock(mut); number++; pthread_mutex_unlock(mut); usleep(10000);} printf(thread2 :number %d\n,number); printf(thread2 :work done!\n); pthread_exit(NULL); } void *thread3() {printf(thread3 :Imthread3\n); for (i 0;iMAX*3;i++) {pthread_mutex_lock(mut); number++; pthread_mutex_unlock(mut); usleep(10000);} printf(thread3 :number %d\n,number); printf(thread3 :work done!\n); pthread_exit(NULL); } voidthread_create(void) { int

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档