当前位置: 首页 > news >正文

深圳制作网站的公司简介5分钟建站wordpress

深圳制作网站的公司简介,5分钟建站wordpress,用凡科可以做视频网站吗,wordpress 停用插件重定向理解 在Linux下#xff0c;当打开一个文件时#xff0c;进程会遍历文件描述符表#xff0c;找到当前没有被使用的 最小的一个下标#xff0c;作为新的文件描述符。 代码验证#xff1a; ①#xff1a;先关闭下标为0的文件#xff0c;在打开一个文件#xff0c;…重定向理解 在Linux下当打开一个文件时进程会遍历文件描述符表找到当前没有被使用的 最小的一个下标作为新的文件描述符。 代码验证 ①先关闭下标为0的文件在打开一个文件此时该文件的fd为0 #includestdio.h#includesys/types.h#includefcntl.h#includestring.h#includeunistd.hint main(){//提前关闭下标为0的文件close(0);int fdopen(log.txt,O_WRONLY|O_CREAT|O_TRUNC,0666);if(fd0){perror(open);return 1;}printf(log.txt打开成功fd:%d\n,fd); close(fd);return 0;}②关闭下标为1的文件在打开一个新的文件再用 printf 打印一段信息 #includestdio.h#includesys/types.h#includefcntl.h#includestring.h#includeunistd.hint main(){//提前关闭下标为1的文件close(1);int fdopen(log.txt,O_WRONLY|O_CREAT|O_TRUNC,0666);if(fd0){perror(open);return 1;}printf(log.txt打开成功fd:%d\n,fd);fflush(stdout); close(fd);return 0;}出现的问题 1.printf输出的内容没有出现在显示器上 2.应该在显示器上出现的信息却被加载到了文件中 【解释】 在上述代码中我们先关闭了下标为1的文件在操作系统中该文件对应的是标准输出显示器而我们打开文件后会将下标1作为该文件的描述符printf函数的作用就是向下标为1的文件中写入信息但是此时下标1对应的不在是标准输出了对应的是我们打开的文件但是上层仍认为1号下标对应的就是显示器所以向1号下标文件写入就相当于向文件写入而这个现象就称之为重定向其本质是在内核中改变文件描述符表特定下标的内容与上层无关 系统调用函数 dup2 该函数的功能是将文件描述符oldfd所对应文件内容拷贝给newfd对应文件 #include unistd.h int dup2(int oldfd, int newfd); 举例 #includestdio.h#includesys/types.h#includefcntl.h#includestring.h#includeunistd.hint main(){int fdopen(log.txt,O_WRONLY|O_CREAT|O_TRUNC,0666);if(fd0){perror(open);return 1;}dup2(fd,1);printf(hello Linux\n);printf(hello Linux\n);printf(hello Linux\n); fflush(stdout);close(fd);return 0;}缓冲区理解 如果将上述代码中的 fflush(stdout) 删除的话应该向文件写入的信息又写不进去了这又是为什么呢程序结束不是会自动刷新缓冲区吗信息去哪里了 【解释】 在c语言中为了用户使用方便封装了三个结构体stdout、stdin、stderr这三个结构体中除了封装了文件描述符外还存在着语言级别的文件缓冲区 在[Linux]基础IO上--理解文件系统调用、文件描述符、万物皆文件一文中我们谈到每一个文件的struct file都存在一个内核级的文件缓冲区printf输出的内容会先保存在语言级别的那个缓冲区中C语言在通过文件描述符将该缓冲区的内容加载到内核级别的文件缓冲区中操作系统在刷新到外设 此时程序中printf输出的内容就保存在语言级别的文件缓冲区中虽然程序结束时会自动刷新缓冲区但是在程序结束前我们就已经将文件关闭了就无法向文件中写入信息了当程序结束时这部分数据就丢失了 缓冲区刷新策略 1.立即刷新fflush(stdout)  int fsync(int fd)  2.行刷新写满一行就刷新显示屏 3.全刷新当缓冲区写满才刷新 4.特殊情况程序结束强制刷新 缓冲区的意义 解耦对于语言级别的文件缓冲区只需要想怎样将数据导入缓冲中不需要管语言怎么再将数据导入内核级文件缓冲区对于内核级文件缓冲区将数据导入进来后就不需要管操作系统怎样将数据刷新到外设中了提高效率系统调用是有一定的成本的当缓冲区写满或者写完一行时再调用系统接口一次或多次的将内容进行处理这样可以极大减少系统调用的次数不仅可以提高IO速率也可以提高用户的使用效率
http://www.zqtcl.cn/news/102172/

相关文章:

  • 门户型网站都有哪些网页制作的视频教程
  • 虚拟主机 多个网站没有备案的网站
  • 河南网站建设推广公司汕尾网站建设
  • 海南省建设网站首页公司网站图片传不上去
  • 中国建设银行网站评价广告投放都有哪些平台
  • 网站系统免费wordpress附件不在数据库
  • 网站开发国外研究状况电商推广是什么意思
  • 太原建高铁站wordpress分级菜单显示
  • 工信部网站备案变更运营一个app大概多少钱
  • 杭州网站建设公司哪家好网站建设 中国联盟网
  • 成都手机网站建设价格网站安全检测软件
  • 长沙申请域名网站备案找个做游戏的视频网站
  • 网站平台开发与应用面试西安seo优化顾问
  • 苏州网站制作及推广中国优秀的企业网站
  • 网站开发语言太老东莞哪家公司做网站比较好
  • 单位网站制作费用报价单博客和个人网站建设情况
  • 山东网站建设公司电话全球建筑设计网站
  • wordpress 站点描述国外优秀网页设计赏析
  • php红酒网站建设软件开发外包项目合作
  • 做网站的都改行做什么了上海推牛网络科技有限公司
  • 在哪里建设网站dedecms做网站注意事项
  • 垂直类网站怎么做推广互联网站的建设维护营销
  • 手机网站大全排行江西省赣州市邮政编码
  • 集团网站建设建站模板seo优化工具软件
  • 大连项目备案网站网站建设一下需要多少费用
  • 松溪网站建设做网站外包
  • sdcms网站建设模板WordPress自定义连接菜单
  • 做设计常用的素材网站外贸平台销售
  • 建网站一般最低多少钱地方门户模板
  • 网站开发虚拟主机管理系统星巴克网络营销方式