当前位置: 首页 > 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.pierceye.com/news/102172/

相关文章:

  • 建立网站功能wordpress微博头条
  • 多就能自己做网站取名网站怎么做
  • 网站域名百度云网站环境建设国家城乡建设规划部网站
  • 网站设计的实例wordpress 微博备份
  • 网络推销黑河网站seo
  • 天津市建设工程管理总队网站wordpress 自媒体模版
  • 用网站做宣传的方案郴州买房网站
  • 微信网站前景wordpress 主题开发教程
  • 基于php旅游网站的毕业设计太原网站建设主页
  • 硅谷网站开发薪酬网站建设 数据可视化
  • 绍兴网站建设设计制作高端的网站开发公司
  • 网站建设包括内容南阳网站建设价格
  • 天津平台网站建设哪里好深圳网络营销推广专员
  • 手机网站建设哪家好嘉定房地产网站建设
  • 酒店网站建设需求分析wordpress 文档模板
  • 品牌微信网站定制wordpress企业cms
  • 郑州网站推广效果免费的个人网页
  • 安徽平台网站建设找哪家安阳实力网站建设首选
  • 企业网站的建设要注意哪些方面免费字体下载网站
  • 建怎样的网站挣钱快网站怎么做微博认证吗
  • 衡水做网站改版网站开发教程流程
  • 鞍山网站制作人才招聘广州网站优化步骤
  • 网站使用微信支付宁国网络推广
  • 成都网站建设六六济南网站制作公司
  • c 网站开发技术链友咨询
  • 手机网站推荐怎样做网站建设
  • 下载学校网站模板下载安装住建部官网查询
  • 模板网站新增备案两次都未通过网站也打不开电子商务网站建设实训报告文章
  • 做标签网站是干嘛的帐号售卖网站建设
  • 建设市民中心网站wordpress只显示标题插件