网站后台制作国际新闻最新消息内容

news/2025/9/29 11:17:15/文章来源:
网站后台制作,国际新闻最新消息内容,给小企业做网站多少钱,东莞网站建设营销平台的重定向理解 在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.mzph.cn/news/921737.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12306网站服务时间免费做网站软件视频

这个是我对于莫烦老师的matplotlib模块的视频做的一个笔记。1.前言Matplotlib是一个python的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图&#xff0c…

Gitee:中国开发者生态的崛起与数字化转型新动能

Gitee:中国开发者生态的崛起与数字化转型新动能 在全球开源生态格局中,一个来自中国的代码托管平台正展现出独特的竞争优势与发展潜力。Gitee作为本土领先的开发者协作平台,不仅解决了中国软件开发者的核心痛点,更…

C语言数组与函数实践应用项目--扫雷游戏 - 指南

C语言数组与函数实践应用项目--扫雷游戏 - 指南2025-09-29 11:12 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display:…

悟空博弈框架深度研究:从技术架构到商业应用的全景分析——声明ai研究

悟空博弈框架深度研究:从技术架构到商业应用的全景分析 一、项目背景与研究概述 悟空博弈框架是AI元人文体系中的核心组成部分,它将东方哲学智慧与现代计算技术相结合,为复杂决策场景提供了一种全新的价值博弈与共识…

自己做网站做淘宝联盟惠州网络科技有限公司

常见HTTP状态码分类: 1xx(信息性状态码): 100 Continue:客户端可以继续发送请求的剩余部分。101 Switching Protocols:服务器已同意切换到另一种协议。 2xx(成功状态码)&#xff…

网站优化是做什么的wordpress 搜狐视频播放

Hashmap本质是数组加链表。根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面。 ConcurrentHashMap:在hashMap的基础上,ConcurrentHashMap将数据分为多个s…

油猴脚本-自动刷新网页

// ==UserScript== // @name Userscript_reload // @namespace http://tampermonkey.net/ // @version 2025-09-29 // @description 每x分钟自动刷新当前页面,可手动暂停/继续,支持窗口拖动 // @au…

PostgreSQL数据库查询表是否被锁,以及解锁表的办法

问题现象: (1)、CDM任务执行时报错:org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend.2025-09-29 10:22:19.663|INFO |cdm-job-submit-pool24|[o.a.s.c.jdbc.GenericJdbcE…

用信号量机制实现互斥,同步,前驱

实现进程互斥 1.分析并发进程的关键活动,划定临界区(如:对临界资源打印机的访问) 2.设置互斥信号量mutex,初始值为1 (mutex n.互斥) 3.进入区P(mutex)--申请资源 4.退出区V(mutex)--释放资源 注意: 对于不同的临…

详细介绍:HDFS和MapReduce——Hadoop的两大核心技

详细介绍:HDFS和MapReduce——Hadoop的两大核心技pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

同城分类网站建设怎么免费查企业电话

简述 RT-Thread的构建与配置系统由以下几个部分组成: KConfig:kernel config配置文件(提供系统的配置裁剪功能)SCons:构建工具env工具:主要提供构建系统所需的各种环境变量以及软件包的管理 Kconfig在R…

AxC杂题乱做

\(\operatorname{Update\;on\;2025.9.26}\) ABC422F dp题。 考虑费用提前计算,设 \(f_{i,j}\) 表示当前在点 \(i\),还需要走 \(j\) 步的最小花费。 \[f_{v,j}\gets f_{u,j+1}+j\times w_v,\exist (u,v) \]复杂度 \(O…

Apache Hive 如何在大内容中发挥能量

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【AI 哲学思考】从大模型演进到生命隐喻:个性、极限与先天后天之问

【AI 哲学思考】从大模型演进到生命隐喻:个性、极限与先天后天之问从大模型演进到生命隐喻:个性、极限与先天后天之问当下对 AI 大模型的优化,无论是微调以适配特定场景,还是对齐人类价值观,几乎都离不开一个前提…

【AI 哲学思考】记忆的形态:从人脑到 AI 的存储之问

【AI 哲学思考】记忆的形态:从人脑到 AI 的存储之问记忆的形态:从人脑到 AI 的存储之问人脑的记忆究竟能清晰到何种程度?我们能一字不差地背诵多少内容?显然,这份 “零误差记忆容量” 必然存在一个上限 —— 就像…

广州万户网站公司wordpress英文美食主题

前言 计划是这样的:当有人使用你不理解的特性时,直接开枪打死他们。这比学习新东西要容易得多,不久之后,活下来的程序员只会用一个容易理解的、微小的 Python 0.9.6 子集来编写代码 。 Tim Peters,传奇的核心开发者&am…

ISP DMA TEST

定义理解 Camera ISP 场景 Camera ISP 场景下在 ISP → Memory 的数据流里:ISP 内部有 DMA 引擎(通常叫 ISP output DMA / Write DMA)。 ISP 出一帧时,数据通过 内部 DMA 硬件写入内存。 一帧传完,ISP 会产生“fr…

基于遗传优化的SVM织物瑕疵类型识别matlab仿真 - 实践

基于遗传优化的SVM织物瑕疵类型识别matlab仿真 - 实践2025-09-29 10:56 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; di…

完整教程:大模型agent综述:A Survey on Large Language Model based Autonomous Agents

完整教程:大模型agent综述:A Survey on Large Language Model based Autonomous Agentspre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !importan…

三脚电感在报警器芯片里的实际作用与用法

由芯片上的声音输出端,通过1K电阻,接到三极管基极脚,再通过集电极脚接到三脚电感的第3脚,同时接到蜂鸣片。三脚电感的另外二个脚,长的2脚接到电源正极,1脚直接接到蜂鸣片。这样就能提升音量,,可以与不接三脚电…