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

Monitor 显示器软件开发设计入门二

基础篇--显示驱动方案输出接口介绍

    写在前面:首先申明,这篇文章是写给那些初入显示器软件行业的入门者,或是对显示器没有基本知识的小白人员。如您是行业大咖大神,可以绕行,可看后期进阶文章。

   上篇介绍了输入接口及相关通道,这篇接着介绍显示方案输出接口的相关知识。这部分内容稍偏硬件,但是这部分所讲的是一个软件开发人员必备的知识,也是绕不过的一道坎。

  显示器方案芯片的输出接口在日常工作和生活中几乎很难看到(MST DP TX除外)。一般能看到的是显示屏(Panel),机壳和外露的接口。

  实际上,在机壳内部,Panel是通过线材(cable)与显示方案芯片(Scaler)的接口连接起来的。

  显示器的显示屏接口类型有很多,例如TTL,RSDS,MIPI,LVDS,eDP,V-BY-ONE……, 因各种类型的接口带宽(每秒传输的数据量)不一样,方案价格不一样,这就导致项目开案选scaler方案时要选择合适的方案搭配panel进行产品设计,以便设计出适合于应用场合且性价比高的产品。

  10.1寸及以下小尺寸多以TTL /MIPI接口为主,因屏幕尺寸小,一般不用于显示器产品;RSDS目前属于已淘汰的接口。目前显示器行业,显示驱动方案输出以eDP,V-BY-ONE和LVDS接口为主。作为显示器设计开发者,对这当前主流这几类接口类型,接口连接方式及软件配置必须要了解清楚。

eDP 接口

  eDP 是基于DP架构和协议的一种内部数字传输接口,是目前显示器屏幕的主流接口,也是所见过最秀气的接口(指接口尺寸小,厚度薄,pin间距小)。最重要的指标优势是带宽,eDP 1.4a 单通道HBR3 可达8.1Gbps,而LVDS 采用8对差分线也仅为7.56Gbps。很明显,eDP数据传输能力及成本明显占优。

eDP 接口

  eDP 显示屏接口有1lane/2lanes/4lanes/8lanes/16lanes之分,传输能力有1.6Gbps/2.7Gbps/5.4Gbps/8.1Gpbs之分。这些知识如果不清楚,可以问度娘。
  下图是某项目显示驱动芯片eDP 接口原理图。

eDP 接口原理图


  与软件相关的配置部分,软件编程需要注意:
(1)关于lane的数量,需要查看屏规格书来确认,例如,下面这款屏是用2lanes eDP 传输data。

2lanes eDP 传输data

 (2) 关于Lane的P/N极性和顺序,需要结合显示芯片pin定义,显示芯片接口到eDP 屏接口connector和eDP cable来综合确认。
           简单来说,就是要看显示器驱动芯片的eDP lane与panel 接口的lane的对应关系,包括顺序和极性,然后在代码里做设定(需要有一点硬件基础知识)。
(3) 关于Aux channel,需要确认显示驱动方案是否支持P/N 交换。
(4) 关于带宽的设定,需要查看panel 规格书,确认每对lane的带宽为多少,再结合代码里的定义,设定正确的带宽。
(5) 关于HPD 信号,对于显示驱动芯片来说,按协议要求,HPD是必须的。 eDP 屏接口的HPD信号是eDP屏充当sink角色发出来的,显示器方案芯片程序通过侦测这个pin的状态变化(通常为L->H,H大于2.4V)来通知source(显示器芯片)与sink(屏)在aux channel 沟通。
           但有时这个中断信号sink不会发出,因为屏的某种原因导致HPD 不会有状态变化或是High的电平不够,此时需要软件开发人员灵活变通,让程序在没有正确识别这个状态变化时也能往下跑,不至于卡在这里等屏厂解决问题(屏供应商通常也不会去解决)。

 V-BY-ONE 接口

  V-BY-ONE 是日本赛恩电子公司(THine Electornics)开发的适用于显示器的信号传输接口标准。

  V-BY-ONE接口最高传输速率是3.75Gbps/lane;通过8lans即可实现4K@60Hz信号传输,如果采用16lanes,可工作在4K@120Hz或8K@60Hz。

 V-BY-ONE 接口

  这里简单理解下4K @60Hz信号的带宽计算,不至于拿到一份屏规格书而显示器驱动方案带宽不支持还傻傻地在那里配置软件却怎么也点不亮屏。

  先看下公式:

  BW=Htotal*Vtotal*Freq*bit*3*10/8

  4K分辨率是3840*2160,计算数据量时Htotal =4400,Vtotal=2250,每个dot由R,G,B三个pixel组成(R、G、B),所以乘以3;刷新率是60Hz;比特按8bit计算;信道编码是8B/10B,代入数据后,总数据量=4400*2200*60*8*3*10/8=17820000000bit/s=17.82Gbps

  当采用8lanes的V-BY-ONE时,每lane的带宽=总数据量/lane数量=17.82/8=2.2275Gbps<3.75Gbps所以如果传输4K60的信号,8lanes 就够用。

  下图是某项目显示驱动芯片VBO 接口原理图。
    

VBO 接口原理图


   在代码的设定上,与eDP 一样,会有lane的数量,极性和HPD/LOCK等设定。
   不一样的地方是,eDP 可以通过mapping的方式来定义每对lane和每对lane的P/N使之与panel 的lane顺序和极性对齐,即使不是按一对一的顺序做的eDP cable,也可以通过代码设定达到一对一连接的目的。
   但VBO需要按组配置,lane的顺序要么是倒序,要么是顺序,且该组内的每对lane的P/N极性必须一致。

LVDS接口

  LVDS(Low Voltage Differential Signaling)最早是由美国国家半导体公司(National Semiconductor)提出的一种高速信号传输电平,是一种低振幅差分信号技术。它的幅度非常低(约350mV),通过一对差分线或平衡电缆传输数据。具有低噪声,低功耗的特点。

LVDS接口

  LVDS 接口是过去十多年中显示器里panel的主流接口。下图是某项目显示驱动芯片 LVDS接口原理图。

LVDS接口原理图

   LVDS 接口与代码相关的主要参数涉及到线序,极性,通道数量和色深这几部分。
   (1)关于线序,原理与前面讲的VBO一样,需要根据显示驱动芯片LVDS输出pin与panel接口之间的线序关系进行正确设定,否则不能正确显示。
            有些显示驱动方案有镜像设定功能,可以将0/1/2/Clock/3的顺序设定为3/clock/2/1/0的顺序,开发时需要根据实际接法对代码灵活设定,而不是要求硬件去修改cable的线序。
   (2)关于极性,因LVDS属于差分类型传输,P/N交换不影响传输正确性(相当于相位180度翻转), 故LVDS接口一般没有要求确认P/N极性设定。
   (3)通道数量,大部分LVDS接口都具备一组或两组传输数据通道(即ODD 和EVEN),这个规格在屏规格书里很容易看出来。因为很多显示器驱动方案支持2 通道LVDS 输出,这就要求显示器驱动方案的通道设定与屏的通道要对应,否则显示的画面是花的,颜色也不正常。有一定经验的软件开发人员也能通过显示的画面一眼判断odd与even 是否有swap。
  (4) 关于色深,不论eDP接口还是VBO接口或是LVDS接口的显示屏,都有色深规格定义。只不过,LVDS接口的显示屏,如果色深定义不对,可能会导致颜色异常,所以也要根据屏规格书在代码里正确设定color depth。

  总结:本章节简述了软件开发人员对显示器方案输出主流接口需要掌握的基本知识点,如有兴趣,可查询更多资料深入了解。下一章节将解读显示屏(Panel)规格书里与软件代码设定相关的内容。

点击此处阅读原文即可查看作者更多精彩内容哦!

相关文章:

Monitor 显示器软件开发设计入门二

基础篇--显示驱动方案输出接口介绍 写在前面&#xff1a;首先申明&#xff0c;这篇文章是写给那些初入显示器软件行业的入门者&#xff0c;或是对显示器没有基本知识的小白人员。如您是行业大咖大神&#xff0c;可以绕行&#xff0c;可看后期进阶文章。 上篇介绍了输入接口及相…...

MySQL 数据库学习教程一:开启数据库探索之旅

在当今数字化时代&#xff0c;数据已然成为企业和组织最为宝贵的资产之一。而数据库管理系统则是存储、管理和操作这些数据的核心工具。MySQL 作为一款广泛应用的开源关系型数据库管理系统&#xff0c;以其可靠性、高性能和易用性而备受青睐。如果你渴望踏入数据库领域&#xf…...

课程答疑微信小程序设计与实现

私信我获取源码和万字论文&#xff0c;制作不易&#xff0c;感谢点赞支持。 课程答疑微信小程序设计与实现 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了课程答疑微信小程序设计与实现的开发全过程。通过分析…...

基于yolov8、yolov5的铝材缺陷检测识别系统(含UI界面、训练好的模型、Python代码、数据集)

摘要&#xff1a;铝材缺陷检测在现代工业生产和质量管理中具有重要意义&#xff0c;不仅能帮助企业实时监控铝材质量&#xff0c;还为智能化生产系统提供了可靠的数据支撑。本文介绍了一款基于YOLOv8、YOLOv5等深度学习框架的铝材缺陷检测模型&#xff0c;该模型使用了大量包含…...

docker 僵尸进程问题

docker僵尸进程 子进程结束后&#xff0c;父进程没有回收该进程资源&#xff08;父进程可能没有wait&#xff09;&#xff0c;子进程残留资源存放与内核中&#xff0c;就变为僵尸进程(zombie) 场景分析&#xff1a;python脚本A中执行B应用&#xff0c;将A部署在docker中&#…...

Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:电影院后台管理系统(前后端源码 + 数据库 sql 脚本)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 项目介绍 2.0 用户登录功能 3.0 用户管理功能 4.0 影院管理功能 5.0 电影管理功能 6.0 影厅管理功能 7.0 电影排片管理功能 8.0 用户评论管理功能 9.0 用户购票功…...

webpack5 的五大核心配置(二)

webpack主要构成部分&#xff1a; entry 入口output 出口loaders 转化器plugins 插件mode 模式devServer 开发服务器 webpack.config.js 配置文件基本格式 module.exports{//入口文件entry:{},//出口文件output:{},//module rules loadersmodule{};//插件plugins:[],//开发…...

Python语法基础(四)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 高阶函数之map 高阶函数就是说&#xff0c;A函数作为B函数的参数&#xff0c;B函数就是高阶函数 map&#xff1a;映射 map(func,iterable) 这个是map的基本语法&#xff0c;…...

UnityShader——初级篇之开始Unity Shader学习之旅

开始Unity Shader学习之旅 一个最简单的顶点/片元着色器顶点/片元着色器的基本结构模型数据从哪里来顶点着色器和片元着色器之间如何通信如何使用属性 强大的援手&#xff1a;Unity 提供的内置文件和变量内置的包含文件内置的变量 Unity 提供的 Cg/HLSL 语义什么是语义Unity 支…...

Burp入门(6)-自动化漏洞测试理论

声明&#xff1a;学习视频来自b站up主 泷羽sec&#xff0c;如涉及侵权马上删除文章 声明&#xff1a;本文主要用作技术分享&#xff0c;所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险&#xff0c;并遵循相关法律法规。 感谢泷…...

【git】git 客户端设置本地缓冲区大小

文章目录 1. 报错2. 解决&#xff1a;增加本地缓冲区 1. 报错 git -c core.quotepathfalse -c log.showSignaturefalse push --progress --porcelain origin refs/heads/master:master Enumerating objects: 17, done. Counting objects: 5% (1/17) Counting objects: 11% …...

Xcode——LLDB Debugger 与断点调试学习

Xcode——LLDB Debugger 与断点调试学习 文章目录 Xcode——LLDB Debugger 与断点调试学习前言介绍打开LLDB命令helpprintexpression 断点调试异常断点——Exception Breakpoint标志断点——Symbolic Breakpointwatchpointset 断点行为condition条件判断 最后参考文章 前言 在…...

linux安全管理-系统环境安全

1 历史命令设置 1、检查内容 检查操作系统的历史命令设置。 2、配置要求 建议操作系统的历史命令设置。 3、配置方法 编辑/etc/profile 文件&#xff0c;配置保留历史命令的条数 HISTSIZE 和保留历史命令的记录文件大小 HISTFILESIZE&#xff0c;这两个都设置为 5。 配置方法如…...

【Maven】依赖冲突如何解决?

准备工作 1、创建一个空工程 maven_dependency_conflict_demo&#xff0c;在 maven_dependency_conflict_demo 创建不同的 Maven 工程模块&#xff0c;用于演示本文的一些点。 什么是依赖冲突&#xff1f; 当引入同一个依赖的多个不同版本时&#xff0c;就会发生依赖冲突。…...

学习视频超分辨率扩散模型中的空间适应和时间相干性(原文翻译)

文章目录 摘要1. Introduction2. Related Work3. Our Approach3.1. Video Upscaler3.2. Spatial Feature Adaptation Module3.3. Temporal Feature Alignment Module3.4. Video Refiner3.5. Training Strategy 4. Experiments4.1. Experimental Settings4.2. Comparisons with …...

MFC工控项目实例三十四模拟量实时监控数字显示效果

点击监控按钮&#xff0c;对选中模拟量用数字显示效果实时显示数值。 SenSet.cpp中相关代码 UINT m_nCounterID_1[6] { IDC_STATIC0,IDC_STATIC1,IDC_STATIC2,IDC_STATIC3,IDC_STATIC4,IDC_STATIC5,};UINT m_nCounterID_2[7] { IDC_STATIC7,IDC_STATIC8,IDC_STATIC9,IDC_S…...

Z2400032基于Java+Mysql+SSM的校园在线点餐系统的设计与实现 代码 论文

在线点餐系统 1.项目描述2. 技术栈3. 项目结构后端前端 4. 功能模块5. 项目实现步骤注意事项 6.界面展示7.源码获取 1.项目描述 本项目旨在开发一个校园在线点餐系统&#xff0c;通过前后端分离的方式&#xff0c;为在校学生提供便捷的餐厅点餐服务&#xff0c;同时方便餐厅和…...

Linux Deploy安装Debian桌面

下载安装Linux Deploy 下载地址 https://github.com/lateautumn233/Linuxdeploy-Pro/releases/download/3.1.0/app-debug.apk 配置 发行版本&#xff1a;Debian架构&#xff1a;arm64发行版版本&#xff1a;bookworm源地址&#xff1a;http://mirrors.aliyun.com/debian/安装…...

C语言数据相关知识:静态数据、越界与溢出

1、静态数组 在 C 语言中&#xff0c;数组一旦被定义后&#xff0c;占用的内存空间就是固定的&#xff0c;容量就是不可改变的&#xff0c;既不能在任何位置插入元素&#xff0c;也不能在任何位置删除元素&#xff0c;只能读取和修改元素&#xff0c;我们将这样的数组称为静态…...

纯Go语言开发人脸检测、瞳孔/眼睛定位与面部特征检测插件-助力GoFly快速开发框架

前言​ 开发纯go插件的原因是因为目前 Go 生态系统中几乎所有现有的人脸检测解决方案都是纯粹绑定到一些 C/C 库&#xff0c;如 ​​OpenCV​​ 或 ​​​dlib​​​&#xff0c;但通过 ​​​cgo​​​ 调用 C 程序会引入巨大的延迟&#xff0c;并在性能方面产生显著的权衡。…...

华为ACL应用笔记

1、基本ACL 2000-2999 基本ACL&#xff08;Access Control List&#xff0c;访问控制列表&#xff09;是一种网络安全技术&#xff0c;它根据源IP地址、分片信息和生效时间段等信息来定义规则&#xff0c;对报文进行过滤。 规则&#xff1a; ACL由一系列规则组成&#xff0c;每…...

Axios:现代JavaScript HTTP客户端

在当今的Web开发中&#xff0c;与后端服务进行数据交换是必不可少的。Axios是一个基于Promise的HTTP客户端&#xff0c;用于浏览器和node.js&#xff0c;它提供了一个简单的API来执行HTTP请求。本文将介绍Axios的基本概念、优势、安装方法、基本用法以及如何使用Axios下载文件。…...

Qml-TabBar类使用

Qml-TabBar类使用 TabBar的概述 TabBar继承于Container 由TabButton进行填充&#xff0c;可以与提供currentIndex属性的任何容器或布局控件一起使用&#xff0c;如StackLayout 或 SwipeView&#xff1b;contentHeight : real:TabBar的内容高度&#xff0c;用于计算标签栏的隐…...

qt QGraphicsEllipseItem详解

1、概述 QGraphicsEllipseItem是Qt框架中QGraphicsItem的一个子类&#xff0c;它提供了一个可以添加到QGraphicsScene中的椭圆项。QGraphicsEllipseItem表示一个带有填充和轮廓的椭圆&#xff0c;也可以用于表示椭圆段&#xff08;通过startAngle()和spanAngle()方法&#xff…...

单链表---移除链表元素

对于无头单向不循环链表&#xff0c;给出头结点head与数值val&#xff0c;删除链表中数据值val的所有结点 #define ListNodeDataType val struct ListNode { struct ListNode* psll;ListNodeDataType val; } 方法一---遍历删除 移除所有数值为val的链表结点&#xff0c;…...

Kafka知识体系

一、认识Kafka 1. kafka适用场景 消息系统&#xff1a;kafka不仅具备传统的系统解耦、流量削峰、缓冲、异步通信、可扩展性、可恢复性等功能&#xff0c;还有其他消息系统难以实现的消息顺序消费及消息回溯功能。 存储系统&#xff1a;kafka把消息持久化到磁盘上&#xff0c…...

Micopython与旋转按钮(Encoder)

一、 encoder.py文件 CLK pin attached to GPIO12DT pin attached to GPIO13GND pin attached to GND 旋转编码器s1->CLK s2->DTimport time from rotary_irq_esp import RotaryIRQ r = RotaryIRQ(pin_num_clk=12, #clk引脚 pin_num_dt=13, #dat…...

联想Lenovo SR650服务器硬件监控指标解读

随着企业IT架构的复杂性和业务需求的增长&#xff0c;服务器的稳定运行变得至关重要。联想Lenovo SR650服务器以其高性能和稳定性&#xff0c;在各类应用场景中发挥着关键作用。为了保障服务器的稳定运行&#xff0c;监控易作为一款专业的IT基础设施监控软件&#xff0c;为联想…...

RAG数据拆分之PDF

引言RAG数据简介PDF解析方法及工具代码实现总结 二、正文内容 引言 本文将介绍如何将RAG数据拆分至PDF格式&#xff0c;并探讨PDF解析的方法和工具&#xff0c;最后提供代码示例。 RAG数据简介 RAG&#xff08;关系型属性图&#xff09;是一种用于表示实体及其关系的图数据…...

基于STM32的传感器数据采集系统设计:Qt、RS485、Modbus Rtu协议(代码示例)

一、项目概述 项目目标与用途 本项目旨在设计并实现一个基于STM32F103RCT6微控制器的传感器数据采集系统。该系统通过多个传感器实时监测环境参数&#xff0c;并将采集到的数据传输至上位机进行处理和分析。系统的主要应用领域包括环境监测、工业控制、智能家居等。通过该系统…...

【计网不挂科】计算机网络——<34道经典简述题>特训

前言 大家好吖&#xff0c;欢迎来到 YY 滴计算机网络 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 本博客主要内容&#xff0c;收纳了一部门基本的计算机网络题目&#xff0c;供yy应对期中考试复习。大家可以参考 本章为分章节的习题内容题库&#x…...

Spring Web开发(请求)获取JOSN对象| 获取数据(Header)

大家好&#xff0c;我叫小帅今天我们来继续Spring Boot的内容。 文章目录 1. 获取JSON对象2. 获取URL中参数PathVariable3.上传⽂件RequestPart3. 获取Cookie/Session3.1 获取和设置Cookie3.1.1传统获取Cookie3.1.2简洁获取Cookie 3. 2 获取和存储Session3.2.1获取Session&…...

算法训练营day22(二叉树08:二叉搜索树的最近公共祖先,插入,删除)

第六章 二叉树part08 今日内容&#xff1a; ● 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点 详细布置 235. 二叉搜索树的最近公共祖先 相对于 二叉树的最近公共祖先 本题就简单一些了&#xff0c;因为 可以利用二叉搜索树的…...

【论文阅读】 Learning to Upsample by Learning to Sample

论文结构目录 一、之前的上采样器二、DySample概述三、不同上采样器比较四、整体架构五、设计过程&#xff08;1&#xff09;初步设计&#xff08;2&#xff09;第一次修改&#xff08;3&#xff09;第二次修改&#xff08;4&#xff09;第三次修改 六、DySample四种变体七、复…...

Android 图形系统之五:Gralloc

Gralloc (Graphics Allocator) 是 Android 系统中的关键组件之一&#xff0c;用于管理图形缓冲区的分配、映射以及处理。在 Android 的图形架构中&#xff0c;Gralloc 充当了 HAL (Hardware Abstraction Layer) 的一部分&#xff0c;为系统和硬件提供了通用的接口&#xff0c;使…...

【大数据学习 | Spark调优篇】Spark之内存调优

1. 内存的花费 1&#xff09;每个Java对象&#xff0c;都有一个对象头&#xff0c;会占用16个字节&#xff0c;主要是包括了一些对象的元信息&#xff0c;比如指向它的类的指针。如果一个对象本身很小&#xff0c;比如就包括了一个int类型的field&#xff0c;那么它的对象头实…...

Spring Data JPA(一) 基础入门

Spring Data JPA&#xff08;一&#xff09; 基础入门 JPA 的全称是 Java Persistence API , 即 Java 持久层 API。Spring Data JPA 是 Spring 生态中提出的一套数据库 ORM &#xff08;对象关系映射&#xff09;规范、抽象标准&#xff0c;或者说它是对ORM框架实现的顶层抽象…...

Flutter | 基于函数式编程的通用单选列表设计

背景 项目中多次用到如下图的通用单选列表页&#xff1a; 常规封装 此列表需要三样东西&#xff1a; 标题数组当前选中项的 index点击 cell 的回调 封装大体如下&#xff1a; import package:flutter/material.dart;class ListPage1 extends StatefulWidget {const ListPa…...

华三防火墙F1000-AK系列策略路由配置案例(WEB)

1 配置需求或说明 1.1 适用的产品系列 本案例适用于如F1000-AK180、F1000-AK170等F1000-AK系列的防火墙。 1.2 配置需求及实现的效果 防火墙作为网络出口设备,外网有移动和联通两条线路。内网有192.168.1.0和192.168.2.0两个网段,需要实现192.168.1.0网段走移动线路,192…...

Oracle 锁表的解决方法及避免锁表问题的最佳实践

背景介绍 在 Oracle 数据库中&#xff0c;锁表或锁超时相信大家都不陌生&#xff0c;是一个常见的问题&#xff0c;尤其是在执行 DML&#xff08;数据操作语言&#xff09;语句时。当一个会话对表或行进行锁定但未提交事务时&#xff0c;其他会话可能会因为等待锁资源而出现超…...

深度学习中的生成对抗网络(GAN)原理与应用

引言 生成对抗网络&#xff08;Generative Adversarial Network&#xff0c;简称GAN&#xff09;是由Ian Goodfellow等人在2014年提出的一种深度学习模型&#xff0c;它通过对抗训练的方式生成与真实数据分布相似的假数据。GAN的出现极大地推动了深度学习和生成模型的研究&…...

Swing中JScrollPane面板

一、介绍 在设置界面时&#xff0c;可能会遇到在一个较小的容器窗体中显示一个较大部分的内容的情况&#xff0c;这时可使用JScrollPane面板。JScrollPane面板是带滚动条的面板&#xff0c;是一种容器&#xff0c;但是JScrollPane只能放置一个组件&#xff0c;并且不可使用布局…...

【学习笔记】检测基于RTOS的设计中的堆栈溢出-第2部分

有许多技术可用于检测堆栈溢出。有些使用硬件,而有些则完全在软件中执行。正如我们很快将看到的那样,在硬件中具有这种能力到目前为止是更可取的,因为堆栈溢出可以在发生时立即检测到,事实上,可以避免,因为硬件实际上可以防止对无效访问的写入。 硬件堆栈溢出检测机制通…...

PHP 函数

在php中有非常多的函数&#xff0c;函数这种东西不需要记全&#xff0c;直到怎么使用就行了&#xff0c;如果想了解多点函数&#xff0c;可以查看php官方函数手册&#xff0c;或者参考菜鸟PHP 5 Array 函数 | 菜鸟教程。 创建 PHP 函数 通常函数创建完毕后是用来调用。 语法格…...

centos更换源文件,换源,替换源

期初怎么折腾就是不行&#xff0c;换了源也是不能使用的&#xff0c;最后发现不是换的源不行&#xff0c;而是之前的源文件不行&#xff0c;然后给所有的源文件在yum源统一放在了bak目录下&#xff0c;随后我们再去下载安装源文件。 您将yum源下载之后&#xff0c;先将您的其他…...

【深度学习】四大图像分类网络之VGGNet

2014年&#xff0c;牛津大学计算机视觉组&#xff08;Visual Geometry Group&#xff09;和Google DeepMind公司一起研发了新的卷积神经网络&#xff0c;并命名为VGGNet。VGGNet是比AlexNet更深的深度卷积神经网络&#xff0c;该模型获得了2014年ILSVRC竞赛的第二名&#xff0c…...

线性表-链式描述(C++)

链式实现的线性表&#xff1a; 链式实现的线性表&#xff0c;即链表&#xff08;Linked List&#xff09;&#xff0c;是一种通过节点&#xff08;Node&#xff09;的集合来存储数据的线性数据结构。在链表中&#xff0c;每个节点包含两部分&#xff1a;存储数据的域&#xff…...

C++高阶算法[汇总]

&#xff08;一&#xff09;高精度算法概述 高精度算法是指能够处理超出常规数据类型表示范围的数值的算法。在 C 中&#xff0c;标准数据类型通常有固定的位数和精度限制&#xff0c;而高精度算法可以解决大数运算、金融计算和科学计算等领域的问题。 &#xff08;二&#x…...

机器学习之DeepMind推出的DreamerV3

开放域任务强化学习(Open-Ended Task Reinforcement Learning)的目标是使智能体能够在多样化且未见过的任务中表现出色,同时能够实现任务间的迁移学习。这类研究的重点在于开发通用的学习算法,能够在没有明确任务定义的情况下,从环境中学习并推广到新任务。DeepMind的Drea…...

【Zookeeper】四,Zookeeper节点类型、通知、仲裁、会话

文章目录 Zookeeper的架构znode的版本Zookeeper的节点类型层级树状结构znode的不同类型 Zookeeper监视与通知通知的类型 Zookeeper的仲裁Zk的会话会话的生命周期 Zookeeper的架构 Zookeeper的服务器端运行两种模式&#xff1a;独立模式&#xff08;standalone&#xff09;和仲…...