做网站维护需要懂什么工业设计专业介绍

web/2025/9/26 20:13:33/文章来源:
做网站维护需要懂什么,工业设计专业介绍,创新的南昌网站设计,百度网站的网址是什么File*其实是一个结构体 文件描述符FD#xff1a;索引到对应的磁盘文件文件读写位置指针FP_POS#xff0c;如果同时读写需要注意文件指针的位置I/O缓冲区BUFFER#xff1a;保存内存指针#xff0c;默认大小是8kb#xff0c;用于减小我们对硬盘操作的次数。因为我们对硬盘的…File*其实是一个结构体 文件描述符FD索引到对应的磁盘文件文件读写位置指针FP_POS如果同时读写需要注意文件指针的位置I/O缓冲区BUFFER保存内存指针默认大小是8kb用于减小我们对硬盘操作的次数。因为我们对硬盘的操作是ms级别的而我们电子设备的操作是ns级别的。刷新缓冲区到硬盘上fflush、缓冲区已满、文件正常关闭、return main、exit mainLinux系统函数没有缓冲区C库函数自带缓存 在Linux中,inode保存文件的属性里面有一个结构体struct stat其中记录了文件的各种信息但是没有保存文件名。 文件名保存在denty(目录项)中每一个文件名对应一个inode编号。每一个硬链接都是一个denty 以Linux32为系统为例 文件描述符 Linux为每一个运行的程序分配0-4G的内存0-3G是用户区3-4G是内核区内核区不允许用户去访问文件描述符位于内核区中的PCB进程控制块中0-1023每个位置储存一个文件。0\1\2默认是打开的分别是STDIN_FiLENO 、STDOUT_FILENO 、STDERR_FILENO每打开一个新文件会多储存一个文件描述符。是一个栈 查看文件格式file 文件 虚拟地址 用户区0-3G 受保护的内存0-4Knone指针指向这个位置ELF段 .text 代码段二进制机器指令包含main函数、静态库.rodata段 和.text一样都是ro只读权限在链接的时候完成数据段合并.data段 已经初始化的全局变量.bss未初始化的全局变量和.data段一样是rw读写权限 堆空间保存全局变量用malloc或者new在堆上分配内存共享库: 动态库对库的调用是相对的地址。栈空间从上面开始分配内存保存局部变量命令行参数main函数的参数环境变量env查看 CPU使用虚拟地址与物理空间映射的作用 方便编译器和操作系统安排程序的地址分布程序可以使用一系列连续的虚拟地址访问内存中不连续的内存缓冲区方便进程之间的隔离不同进程之间彼此隔离一个进程中的代码无法更改正在另一项进程的物理内存方便OS使用内存程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区。当物理内存的供应量变小时内存管理器会将物理内存页通常为4KB保存到此案文件。数据或代码页会根据需要在物理内存和磁盘之间移动 printf函数 printf函数 调用write函数将文件描述符传递 应用层运行write函数 系统调用sys_write()函数从用户态转化为内核态 内核层设备驱动函数 常用的系统应用函数 man 章节号 需要查找的函数 // 查看Linux手册中的函数open函数 int open(const char *pathname, int flags);// The argument flags must include one of the following access modes: O_RDONLY, O_WRONLY, or O_RDWR. These request opening the file read-only, write-only,or read/write, respectively.int open(const char *pathname, int flags, mode_t mode); //mode:给创建文件设定访问权限返回一个文件描述符-1意思是发生了错误errno会被赋予错误信息使用需要包含errno.h 错误宏定义的位置 第1-34个错误:usr/incclude/asm-generic/errno-base.h 第35-133个错误/usr/include/asm-generic/errno.h void perror(const char *s)用来将上一个函数发生错与原因输出到标准设备 编写函数的时候可以使用章节 shiftk查看函数的man文档 例如 #includesys/types.h #includesys/stat.h #includefcntl.h //open的头文件 #includeunistd.h //close的头文件 #includestdlib.h //exit的头文件 #includestdio.h //perror的头文件 int main() {int fd; //用于保存文件描述符fd open(main.c,O_RDWR);if(fd-1){perror(open file);exit(1);}//创建新文件fd open(newfile.c,O_RDWR | O_CREAT,777);//实际上文件的属性是775因为本地有一个掩码给定的权限将会和掩码有一个取反按位与的操作实际上相当于减法//nmask获取本地掩码printf(新文件的文件描述符%d\n,fd);//关闭文件int ret close(fd);if(ret-1){perror(close file);exit(1);}elseprintf(ret%d\n,ret);return 0; } 获取本地掩码umask 修改本地掩码umask xxxx O_CREAT需要将掩码取反再将权限按位与 通过O_CREAT 与O_EXCL和起来使用判断文件是否已经存在例如 #includesys/types.h #includesys/stat.h #includefcntl.h //open的头文件 #includeunistd.h //close的头文件 #includestdlib.h //exit的头文件 #includestdio.h //perror的头文件 int main() {int fd; //用于保存文件描述符 /*fd open(main.c,O_RDWR);if(fd-1){perror(open file);exit(1);}//创建新文件fd open(newfile.c,O_RDWR | O_CREAT,777);//实际上文件的属性是775因为本地有一个掩码给定的权限将会和掩码有一个取反按位与的操作实际上相当于减法//nmask获取本地掩码printf(新文件的文件描述符%d\n,fd); */fd open(myhelloc.c,O_RDWR|O_CREAT|O_EXCL , 777);if(fd-1){perror(open file);exit(1);} //关闭文件int ret close(fd);if(ret-1){perror(close file);exit(1);}elseprintf(ret%d\n,ret);return 0; } 文件清空、截断为O_TRUNC 一定要注意对返回值做一个判断这样出错的时候就能知道哪里出错。 read() #include unistd.hssize_t read(int fd, void *buf, size_t count);返回值 -1 读文件失败设置errno文件读取了x 读取了x个字符 write() #include unistd.h ssize_t write(int fd, const void *buf, size_t count);lseek() #include sys/types.h#include unistd.h off_t lseek(int fd, off_t offset, int whence); whence as follows:SEEK_SETThe file offset is set to offset bytes.SEEK_CURThe file offset is set to its current location plus offset bytes.SEEK_ENDThe file offset is set to the size of the file plus offset bytes.使用举例将一个文件的内容拷贝到另一个文件 #includesys/types.h #includesys/stat.h #includefcntl.h //Open #includeunistd.h //Close #includestdlib.h //exit #includestdio.h //perror #includestring.h #define MAXN 1005 char buffer[MAXN]; //缓冲区 int fd_in,fd_out; //用于保存文件描述符void Open() {fd_inopen(file_in,O_RDONLY);if(fd_in -1){perror(Open fin:);exit(1);}//fd_outopen(file_out,O_WRONLY | O_CREAT | O_EXCL,0777);fd_outopen(file_out,O_WRONLY | O_CREAT,0644);if(fd_out -1){perror(Open fout:);exit(1);} }void Close() {int retclose(fd_in);if(ret-1){perror(Close fin);exit(1);}if(ret-1){perror(Close fout);exit(1);} }void Work() {int cntread(fd_in,buffer,MAXN);if(-1cnt){printf(读取文件失败);}while(cnt) //没有读取到文件末尾{write(fd_out,buffer,cnt);cntread(fd_in,buffer,MAXN);} } int main() {Open();Work();Close(); } 经验 open函数如果使用O_CREAT参数则需要指定使用权限八进制数字需要在权限前面加如果只使用O_CREAT和O_RDWR参数配合如果文件已经存在就会打开之前的文件不会创建新文件如果再配合O_EXCL参数那么如果已经存在文件就会报错。文件的实际权限是指定权限减去掩码不要眼高手低即使看起来比较简单的东西还是需要多动手实践才能发现自己的问题 lseek #include sys/types.h#include unistd.hoff_t lseek(int fd, off_t offset, int whence); lseek() repositions the file offset of the open file description associated with the file descriptor fd to the argument offset according to the direc‐ tive whence as follows:SEEK_SETThe file offset is set to offset bytes.SEEK_CURThe file offset is set to its current location plus offset bytes.SEEK_ENDThe file offset is set to the size of the file plus offset bytes. 获取文件长度retlseek(fd,0,SEEK_END)文件拓展只能向后拓展文件不能向前 int retlseek(fd,2000,SEEK_END); //文件拓展需要最后做一次写操作,随便写一点东西就可以 //得到一个空洞文件先得到预定大小的文件然后使用多线程操作 write(fd,a,1);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81412.shtml

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

相关文章

微信公众号的h5网站开发wordpress 检索文件

本文大约 8000 字,阅读大约需要 12 分钟 第一次翻译,限于英语水平,可能不少地方翻译不准确,请见谅! 最近谷歌开源了一个基于 TensorFlow 的库–TFGAN,方便开发者快速上手 GAN 的训练,其 Github …

女性门户网站织梦模板深圳百度推广电话

设想一下,你在家中准备起身,前往橱柜取东西。一个集成 SIF3D 技术的智能家居系统,已经预测出你 的行动路线(路线通畅,避开桌椅障碍物)。当你接近橱柜时,系统已经理解了你的意图,柜门…

贵阳市网站优化新网站开发

perfetto是知名的Android系统性能分析平台。我们还可以用它去分析Linux系统和Chrome(需要装扩展)。本文我们只介绍如何安装的验证。 部署 我们使用Docker部署perfetto ui系统。 FROM ubuntu:20.04 WORKDIR /perfetto-ui RUN apt-get update -y RUN ap…

深圳网站制作公司讯想在网上做外卖 上什么网站好

在业务场景要求高的数据库中,对于单条删除和更新操作,在 delete 和 update 后面加 limit 1 绝对是个好习惯。比如,在删除执行中,第一条就命中了删除行,如果 SQL 中有 limit 1;这时就 return 了,…

合肥浦发建设集团网站宝塔没有域名直接做网站怎么弄

AlphaFold3 中 MmcifObject类 是 解析 mmCIF 文件的核心数据结构,用于存储解析后的蛋白质结构信息,包含PDB 头部信息、Biopython 解析的结构、链序列信息等。 下面代码包含 Monomer 、AtomSite、ResiduePosition、ResidueAtPosition、 MmcifObject以及ParsingResult数据类的…

网站下载视频方法网站建设全网营销客户资源

通过使用搜索引擎、扫描器、发送简单的HTTP请求或者专门精心制作的请求,都有可能导致应用程序泄漏诸如错误信息、版本信息以及所使用的技术等信息。 一、测试robots.txt文件 现在,我们首先介绍如何测试robots.txt文件。Web蜘蛛/机器人/爬虫可以用来检索网…

网站规划的主要内容wordpress视频教程 电驴

Glibc 中的 GKeyFile 库 GKeyFile 是一个用于存储和检索按键值对的文件格式,其中按键名称和值可以是任意字符串。在 GKeyFile 文件中,每个条目都由一行文本组成,其中键和值由等号()分隔。 以下是一个使用 g_key_file…

查建设工程规划许可证网站做网站一个月赚多少钱

给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1: 输入:"ab-cd" 输出:"dc-ba"示例 2: 输入:&q…

青岛网架公司新乡网站关键字优化

12、虚函数的应用、虚析构函数 运行时类型信息(RTTI)动态类型转换(dynamic_cast)typeid操作符 虚 析构函数空虚析构函数 一个类中,除了构造函数和静态成员函数外,任何函数都可以被声明为虚函数 运行时类型信息(RTTI) 动态类型转换(dynamic_cast) 用于…

一键注册所有网站杭州职称评审系统网站

文章目录 前言一、什么是 min period?二、为什么检查 min period?三、如何设置 min period?四、如何检查 min period?五、如何修复 min period?总结 前言 我们在实际设计中可能会碰到这种情况,如果我们的m…

哪家网站设计公司好app软件开发的费用设计

由于I / O单元和模块的布放已经在布图规划时完成,因此布局的剩余任务主要是对标准单元的布局。布局方案在布图规划时就已经做了决定,要么选择展平式布局,要么就是层次化布局。 一、布局目标 布局的目标也即布局内容实施之后所要达到的预期值…

建站网站图片不显示专门网站建设

在Ubuntu中使用CSDN复制的代码时,可能会出现\u200的符号,这个符号会影响代码的编译和运行,因此需要找到一种快速删除这种符号的方法。 通过搜索找到了一种替换为空的删除方式,笔者编写了一个适用于Rust的shell脚本,需要…

手机 dns 国外网站鼓楼区建设局网站

ARM v8 Cortex R52内核 02 程序模型 Programmers Model 2.1 关于程序模型 Cortex-R52处理器实现了Armv8-R架构。这包括: 所有的异常级别,EL0-EL2。 每个异常级别下的AArch32执行状态。 T32和A32指令集,其中包括: 浮点运算。 …

win2003怎么做网站微小店网站建设官网

一、前言 开发提供数据的WebApi服务,最重要的是数据的安全性。那么对于我们来说,如何确保数据的安全将会是需要思考的问题。在ASP.NET WebService服务中可以通过SoapHead验证机制来实现,那么在ASP.NET WebApi中我们应该如何保证我们的接口安全…

搭建网站是什么静态网站开发基础

实验室开放项目实验报告 实验名称:实验一输入输出格式 实验目的:熟练掌握程序设计竞赛中通常采用的输入输出格式和掌握不同格式输入输出数据的处理方法 实验内容: 在本地电脑中新建一个文件夹,用于存放C源程序,文件…

一元购物网站建设江苏建设监理网站

实现方案 直接依赖 这种方式实现简单,但是耦合太严重,不方便维护与开发,当工程逐渐增大模块逐渐增多,依赖关系会非常复杂,不推荐这种方式。 事件或广播通信 EventBus: 我们非常熟悉的事件总线型的通信框…

商城网站制作深圳网站制作郑州软件开发学校

以下内容以本人遇到的真实问题为例,从找到加装固态硬盘后出现黑屏及蓝屏的原因,到成功解决问题,请各位看官听我娓娓道来,也希望为遇到同样问题的广大网友拨云见日,废话不多说,走起……一、问题描述:1. 背景…

淄博网站建设网站推广网络推广好的公司

题目 题目链接 题意 据说这道题要用一道叫做LCT的数据结构,然而我不会。。。 一排有n个弹簧装置,从第ii个可一往后跳k[i]" role="presentation" style="position: relative;">k[i]k[i]步。 修改:修改某个位…

南通网站外包wordpress文档案例

本文收录于专栏《Python等级认证CCF-GESP真题解析》,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 一、单选题(每题 2 分,共 30 分) 第 1 题 小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语言有几种?( ) A. 1 B. 2 C…

长沙公众号开发合肥seo优化

name input("请输入你的名字:") age input("请输入你的年龄:") print("我的名字是:"name" 年龄是:"age) #print(name) #print(age) 这是在本地调试的结果。因为程序是在远程服务器上执…