网站改版需要怎么做p2p商城网站建设

news/2025/10/4 5:34:45/文章来源:
网站改版需要怎么做,p2p商城网站建设,网站权重如何提高,企业网页制作心得应用和硬件的关系我们作为程序员一般很少直接操控硬件#xff0c;我们一般通过 C、Java 等高级语言编写的程序起到间接控制硬件的作用。所以大家很少直接接触到硬件的指令#xff0c;硬件的控制是由 Windows 操作系统 全权负责的。你一定猜到我要说什么了#xff0c;没错我们一般通过 C、Java 等高级语言编写的程序起到间接控制硬件的作用。所以大家很少直接接触到硬件的指令硬件的控制是由 Windows 操作系统 全权负责的。你一定猜到我要说什么了没错我会说但是任何事情没有绝对性环境的不同会造成结果的偏差。虽然程序员没法直接控制硬件并且 Windows 屏蔽了控制硬件的细节但是 Windows 却为你开放了 系统调用功能来实现对硬件的控制。在 Windows 中系统调用称为 APIAPI 就是应用调用的函数这些函数的实体被存放在 DLL 文件中。下面我们来看一个通过系统调用来间接控制硬件的实例假如要在窗口中显示字符串就可以使用 Windows API 中的 TextOut 函数。TextOut 函数的语法C 语言如下BOOL TextOut{ HDC hdc, // 设备描述表的句柄 int nXStart, // 显示字符串的 x 坐标 int nYStart, // 显示字符串的 y 坐标 LPCTSTR lpString, // 指向字符串的指针 int cbString // 字符串的文字数 }那么在处理 TextOut 函数的内容时Windows 做了些什么呢从结果来看Windows 直接控制了作为硬件的显示器。但 Windows 本身也是软件由此可见Windows 应该向 CPU 传递了某种指令从而通过软件控制了硬件。Windows 提供的 TextOut 函数 API 可以向窗口和打印机输出字符。C 语言提供的 printf 函数是用来在命令提示符中显示字符串的函数。使用 printf 函数是无法向打印机输出字符的。支持硬件输入输出的 IN 指令和 OUT 指令Windows 控制硬件借助的是输入和输出指令。其中具有代表性的两个输入输出指令就是 IN 和 OUT指令。这些指令也是汇编语言的助记符。可以通过 IN 和 OUT 指令来实现对数据的读入和输出如下图所示也就是说IN 指令通过指定的端口号输入数据OUT 指令则是把 CPU 寄存器中存储的数据输出到指定端口号的端口。那么这个端口号 和 端口是什么呢你感觉它像不像港口一样通过标注哪个港口然后进行货物的运送和运出下面我们来看一下官方是如何定义端口号和端口的还记得计算机组成原理中计算机的五大组成部分吗再来回顾一下运算器、控制器、存储器、输入设备和输出设备。我们今天不谈前三个就说说后面两个输入设备和输出设备这两个与我们本节主题息息相关。那么问题来了IO设备如何实现输入和输出的呢计算机主机中附带了用来连接显示器以及键盘等外围设备的连接器。 而连接器的内部都连接有用来交换计算机主机同外围设备之间电流特性的 IC。如果 IC 你不明白是什么的话可以参考作者的文章 程序员需要了解的硬核知识之内存 进行了解。这些 IC 统称为 IO 控制器。IO 是 Input/Output 的缩写。显示器、键盘等外围设备都有各自专用的 I/O 控制器。I/O 控制器中有用于临时保存输入输出数据的内存。这个内存就是 端口(port)。端口你就可以把它理解为我们上述说的 港口。IO 控制器内部的内存也被称为寄存器不要慌这个寄存器和内存中的寄存器不一样。CPU 内存的寄存器是用于进行数据运算处理的而IO中的寄存器是用于临时存储数据的。在 I/O 设备内部的 IC 中有多个端口。由于计算机中连接着很多外围设备因此也就有很多 I/O 控制器。当然也会有多个端口一个 I/O 控制器可以控制多个设备不仅仅只能控制一个。各端口之间通过 端口号 进行区分。端口号也被称为 I/O地址 。IN 指令和 OUT 指令在端口号指定的端口和 CPU 之间进行数据的输入和输出。这跟通过内存的地址来对内存进行读写是一样的道理。测试输入和输出程序首先让我们利用 IN 指令和 OUT 指令来进行一个直接控制硬件的实验。假如试验的目的是让一个计算机内置的喇叭蜂鸣器发出声音。蜂鸣器封装在计算机内部但它也是外围设备的一种。用汇编语言比较繁琐这次我们用 C 语言来实现。在大部分 C 语言的处理编译器的种类中只要使用 _asm{ 和 }括起来就可以在其中记述助记符。也就是说采用这种方式就能够使用 C 语言和汇编语言混合的源代码。在 AT 兼容机中蜂鸣器的默认端口号是 61H 末尾的 H 表示的是十六进制数的意思。用 IN 指令通过该端口号输入数据并将数据的低2位设定为 ON然后再通过该端口号用 OUT 指令输出数据这时蜂鸣器就会发出声音。同样的方法将数据的低2位设定为 OFF 并输出后蜂鸣器就停止工作。位设定为 ON 指的是将该位设定为1位设定为 OFF 指的是将该位设定为0 。把位设定为 ON只需要把想要设定为 ON 的位设定为1其他位设定为0后进行 OR 运算即可。由于这里需要把低2位置为1因此就是和 03H 进行 OR 运算。03H 用8为二进制来表示的话是 00000011。由于即便高6位存在着具体意义。和0进行OR运算后也不会发生变化因而就和 03H 进行 OR 运算。把位设定为 OFF只需要把想要置 OFF 的位设定为0其他位设定为1后进行 AND 运算即可。由于这里需要把低2位设定为0因此就要和 FCH 进行 AND 运算。在源代码中FCH 是用 0FCH 来记述的。在前面加 0 是汇编语言的规定表示的是以 A - F 这些字符开头的十六进制数是数值的意思。0FCH 用8位二进制数来表示的话是 11111100。由于即便高6位存在着具体意义和1进行 AND 运算后也不会产生变化因而就是同 0FCH 进行 OR 运算。void main(){ // 计数器 int i; // 蜂鸣器发声 _asm{ IN EAX, 61H OR EAX, 03H OUT 61H, EAX } // 等待一段时间 for(i 0;i 1000000;i); // 蜂鸣器停止发生 _asm{ IN EAX, 61H AND EAX, 0FCH OUT 61H, EAX } }我们对上面的代码进行说明main 是 C 语言程序起始位置的函数。在该函数中有两个用 _asm{} 围起来的部分它们中间有一个使用 for 循环的空循环首先是蜂鸣器发声的部分通过 IN EAX61H(助记符不区分大小写)指令把端口 61H 的数据存储到 CPU 的 EAX 寄存器中。接下来通过 OR EAX03H 指令把 EAX 寄存器的低2位设定成 ON。最后通过 OUT 61HEAX 指令把 EAX 寄存器的内容输出到61端口。使蜂鸣器开始发音。虽然 EAX 寄存器的长度是 32 位不过由于蜂鸣器端口是8位所以只需对下8位进行OR运算和AND运算就可以正常工作了。其次是一个重复100次的空循环主要是为了在蜂鸣器开始发音和停止发音之间稍微加上一些时间间隔。因为现在计算机器的运行速度非常快哪怕是 100 万次循环也几乎是瞬时间完成的。然后是用来控制器蜂鸣器停止发声的部分。首先通过 IN EAX61H 指令把端口 61H 的数据存储到 CPU 的 EAX 寄存器中。接下来通过 AND EAX0FCH 指令把 EAX 寄存器的低2位设定为 OFF。最后通过 OUT 61HEAX 指令把寄存器的 EAX 内容输出到61号端口使蜂鸣器停止发音。外围设备的中断请求IRQ(Interrupt Request) 代表的就是中断请求。IRQ 用来暂停当前正在运行的程序并跳转到其他程序运行的必要机制。该机制被称为 处理中断。中断处理在硬件控制中担当着重要的角色。因为如果没有中断处理就有可能无法顺畅进行处理的情况。从中断处理开始到请求中断的程序(中断处理程序)运行结束之前被中断的程序(主程序)的处理是停止的。这种情况就类似于在处理文档的过程中有电话打进来电话就相当于是中断处理。假如没有中断处理的发生就必须等到文档处理完成后才能够接听电话。由此可见中断处理有着巨大的价值就像是接听完电话后会返回原来的文档作业一样中断程序处理完成后也会返回到主程序中继续。实施中断请求的是连接外围设备的 I/O 控制器负责实施中断处理的是 CPU外围设备的中断请求会使用不同于 I/O 端口的其他编号该编号称为中断编号。在控制面板中查看软盘驱动器的属性时IRQ处现实的数值是 06表示的就是用06号来识别软盘驱动器发出的请求。还有就是操作系统以及 BIOS 则会提供响应中断编号的中断处理程序。BIOS(Basic Input Output System): 位于计算机主板或者扩张卡上内置的 ROM 中里面记录了用来控制外围设备的程序和数据。假如有多个外围设备进行中断请求的话 CPU 需要做出选择进行处理为此我们可以在 I/O 控制器和 CPU 中间加入名为中断控制器的 IC 来进行缓冲。中断控制器会把从多个外围设备发出的中断请求有序的传递给 CPU。中断控制器的功能相当于就是缓冲。下面是中断控制器功能的示意图CPU 在接受到中断请求后会把当前正在运行的任务中断并切换到中断处理程序。中断处理程序的第一步处理就是把 CPU 所有寄存器的数值保存到内存的栈中。在中断处理程序中完成外围设备的输入和输出后把栈中保存的数值还原到 CPU 寄存器中然后再继续进行对主程序的处理。假如 CPU 寄存器数值还没有还原的话就会影响到主程序的运行甚至还有可能会使程序意外停止或发生运行时异常。这是因为主程序在运行过程中会用到 CPU 寄存器进行处理这时候如果突然插入其他程序的运行结果此时 CPU 必然会受到影响。所以在处理完中断请求后各个寄存器的值必须要还原。只要寄存器的值保持不变主程序就可以像没有发生过任何事情一样继续处理。用中断来实现实时处理中断是指计算机运行过程中出现某些意外情况需主机干预时机器能自动停止正在运行的程序并转入处理新情况的程序处理完毕后又返回原被暂停的程序继续运行。在程序的运行过程中几乎无时无刻都会发生中断其原因就是为了实时处理外部输入的数据虽然程序也可以在不会中断的基础上处理外部数据但是那种情况下主程序就会频繁的检查外围设备是否会有数据输入。由于外围设备会有很多个因此有必要按照顺序来调查。按照顺序检查多个外围设备的状态称为 轮询。对于计算机来说这种采用轮询的方式不是很合理如果你正在检查是否有鼠标输入这时候发生了键盘输入该如何处理呢结果必定会导致文字的实时处理效率。所以即时的中断能够提高程序的运行效率。上面只是中断的一种好处下面汇总一下利用中断能够带来的正面影响提高计算机系统效率。计算机系统中处理机的工作速度远高于外围设备的工作速度。通过中断可以协调它们之间的工作。当外围设备需要与处理机交换信息时由外围设备向处理机发出中断请求处理机及时响应并作相应处理。不交换信息时处理机和外围设备处于各自独立的并行工作状态。维持系统可靠正常工作。现代计算机中程序员不能直接干预和操纵机器必须通过中断系统向操作系统发出请求由操作系统来实现人为干预。主存储器中往往有多道程序和各自的存储空间。在程序运行过程中如出现越界访问有可能引起程序混乱或相互破坏信息。为避免这类事件的发生由存储管理部件进行监测一旦发生越界访问向处理机发出中断请求处理机立即采取保护措施。满足实时处理要求。在实时系统中各种监测和控制装置随机地向处理机发出中断请求处理机随时响应并进行处理。提供故障现场处理手段。处理机中设有各种故障检测和错误诊断的部件一旦发现故障或错误立即发出中断请求进行故障现场记录和隔离为进一步处理提供必要的依据。利用 DMA 实现短时间内大量数据传输上面我们介绍了 I/O 处理和中断的关系下面我们来介绍一下另外一个机制这个机制就是 DMA(Direct Memory Access)。DMA 是指在不通过 CPU 的情况下外围设备直接和主存进行数据传输。磁盘等硬件设备都用到了 DMA 机制通过 DMA大量数据可以在短时间内实现传输之所以这么快是因为 CPU 作为中介的时间被节省了下面是 DMA 的传输过程I/O 端口号、IRQ、DMA 通道可以说是识别外围设备的3点组合。不过IRQ、DMA 通道并不是所有外围设备都具备的。计算机主机通过软件控制硬件时所需要的信息的最低限是外围设备的 I/O 端口号。IRQ 只对需要中断处理的外围设备来说是必须的DMA 通道则只对需要 DMA 机制的外围设备来说是必须的。假如多个外围设备都设定成相同的端口号、IRQ 和 DMA 通道的话计算机就无法正常工作会提示 设备冲突。文字和图片的显示机制你知道文字和图片是如何显示出来的吗事实上如果用一句话来简单的概括一下该机制那就是显示器中显示的信息一直存储在某内存中。该内存称为VRAM(Video RAM)。在程序中只要往 VRAM 中写入数据该数据就会在显示器中显示出来。实现该功能的程序是由操作系统或者 BIOS 提供并借助中断来进行处理。在 MS-DOS 时代对于大部分计算机来说VRAM 都是主内存的一部分。在现代计算机中显卡等专用硬件中一般都配置有与主内存相独立的 VRAM 和 GPUGraphics Processing Unit也叫做图形处理器或者图形芯片。这是因为对经常描绘图形的 windows 来说数百兆的 VRAM 都是必需的。用软件来控制硬件听起来好像很难但实际上只是利用输入输出指令同外围设备进行输入输出而已。中断处理是根据需要来使用的功能选项。DMA 则直接交给对应的外围设备即可。虽然计算机领域新技术在不断涌现但是计算机所能处理的事情始终只是对输入的数据进行运算并把结果输出这一点是永远不会发生变化的。最后小编想说我是一名python开发工程师整理了一套最新的python系统学习教程想要这些资料的可以关注私信小编“01”即可希望能对你有所帮助。

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

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

相关文章

安徽泗县建设银行网站特色专业建设展示网站 湖北

青少年软件编程(C/C)7级等级考试真题试卷(2023年9月) 编程题第 1 题 红与黑(2023.9) 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上&#xff0c…

小型购物网站模板游戏加盟项目

一图流 赛道 题目难度 数据处理难度 模型难度 备注 A 高 低 高 需要物理模型和优化算法来预测物体在水中的行为和搜索策略,数据相对简单,主要挑战在于环境模拟和策略优化。 B 中等 高 中等 涉及大数据处理、特征工程、机器学习模型选择和调…

优化网站标题百度seo搜索排名

传送门 文章目录题意:思路:题意: 给你d,modd,modd,mod,让你求能构造出如下序列aaa的个数模modmodmod: 思路: 首先可以发现aaa的长度不能超过log2dlog_2dlog2​d,因为如果存在两个aaa的二进制…

江苏省建设工程设计施工图审核中心网站织梦手机网站怎么做

写在前面 在去年10月份,出过一起关于R语言无法调用stats.dll的问题解决方案,今天(你看到后是昨天)不知道为什么,安装包,一直安装不了,真的是炸裂了。后面再次把R与Rstuido升级。说实话,我是真不…

如何给网站做seowordpress悬浮窗安装

null 不设置时默认设置为False。设置为True时,数据库表字段中将存入NULL的记录。 null和blank组合使用,nullTrue,blankTrue,表示该字段可以为空 blank 默认设置为False。设置为True时,表字段许可无任何输入。设置为False 时,表字段…

塘沽官网网站优化推广哪家好

文章目录 Android系统源码中添加可编译运行执行程序,java1.Android设备中执行编译运行java代码2.编译执行jar包 Android系统源码中添加可编译运行执行程序,java 1.Android设备中执行编译运行java代码 新建一个文件夹,以及Java类的包路径 测…

做平团的网站优秀交互设计app欣赏

LGY 、LGL零序过电压继电器 系列型号 LGY-110零序过电压继电器; LGL-110零序过电压继电器; LGL-110/AC零序过电压继电器; LGL-110静态零序过电流继电器 1 应用 LGL-110 型零序过电流继电器用作线路和电力设备的零序过电流保护。…

网站如何做双链路腾讯企业邮箱的优惠活动

文章目录 前言文本表示1文本特征概念介绍2 文本特征选择方法3 文本表示方法 text expressing3.1 One Hot(独热)编码3.2 TF-IDF 模型3.3 Word2Vec 参考链接: 前言 文本是一种非结构化的数据信息,是不可以直接被计算的。 文本表示的作用就是将这些非结构…

杂志网站建设方案怎么做app和网站购物

1.局域网互联设备: 2层网桥(生成树、源路由)、3层交换机、路由器。网桥要求3层以上协议相同,1、2层协议不同可互联。 2.生成树网桥: 又叫透明网桥,IEEE802.1d,生成树算法。基本思想是在网桥之…

佛山顺德网站建设网站建设找哪个平台

原以为RT-DETR可以真的干翻YOLO家族,结果,!!!! 究竟能否让卷积神经网络重获新生? 1.数据准备 代码地址:https://github.com/WongKinYiu/yolov9 不能科学上网的评论区留言 数据集…

眼科医院网站开发策划纯静态网站怎么入侵

来源:easyExcel 使用指南详解 - 知乎 easyExcel简介 Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full g…

做网站与数据库的关系网页设计定制代理

展开全部因为32313133353236313431303231363533e4b893e5b19e31333365633934mysql程序在启动的时候 非常依赖my.cnf里面的配置,而my.cnf文件中的配置,在执行mysql初始化的时候就可以手动指定。如果mysql不是使用yum安装,而是将mysql安装到自定…

音乐分享网站开发什么是wordpress响应式主题

阿里妹导读:你有没有遇到过这种情况:过几周或者几个月之后,再看到自己写的代码,感觉一团糟,不禁怀疑人生?我们每天都与代码打交道,但当被问道什么是好的代码时,很多人可能会先愣一下…

用于做网站的软件腾讯企业邮箱app下载

MR混合现实情景实训教学系统是一种将虚拟现实(VR)、增强现实(AR)相结合的先进技术。在法律教学课堂上,MR教学系统为学生模拟模拟法庭、案例分析等多种形式,让学生在实践中掌握法律知识,提高法律…

免费投资办厂长沙seo

From: http://canofy.iteye.com/blog/298263 python类型转换 Java代码 函数 描述 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]…

网站清除数据库抖音官网链接网站怎么做

文章目录 一、信息安全的基础-机密性1 相关概念2 对称加密和非对称加密 二、身份认证三 摘要算法四、数字签名五、数字证书结语 在支付过程中,设计多方的敏感信息,那么安全尤为重要。下面先简单介绍下,相关概念。 一、信息安全的基础-机密性 …

建设银行短信带网站北京高端网站建设费用

在产品管理的世界里,产品就像有生命的个体,经历着从诞生到消亡的过程。作为产品经理,深刻理解产品的四个生命周期 —— 引入期、成长期、成熟期和衰退期,是打造成功产品的关键。 引入期:破局的起点 对于 B 端产品而言&…

湖南长沙网站建设公司广州微信网站建设如何

Lobe Chat可以关联多个模型,可以调用外部OpenAI, gemini,通义千问等, 也可以关联内部本地大模型Ollama, 可以当作聊天对话框消息框来集成使用 安装方法参考: https://github.com/lobehub/lobe-chat https://lobehub.com/zh/docs/self-hosting/platform/…

做网站被骗该咋样做网络营销公

【题目描述】 用递归函数输出斐波那契数列第n项。0,1,1,2,3,5,8,13…… 【输入】 一个正整数n,表示第n项。 【输出】 第n项是多少。 【输入样例】 3 【输出样例】 1 代码实现 /*斐波那契*/ int fbnq(i…

甜品店网站开发背景网站的折线图怎么做

一、turtle库概述: turtle(海龟)库是turtle绘图体系python的实现; turtle绘图体系:1969年诞生,主要用于程序设计入门; turtle库是python的标准库之一;属于入门级的图形绘制函数库&am…