自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 Unity开发笔记:将Texture2D裁剪出指定圆角用来输出png等图片

注意texture本身应该为支持透明的格式如TextureFormat.RGBA32,且导出为png等支持透明的格式(比如jpg不支持透明)。上述代码中Radius为圆角参数,区间为[0,0.5],数值越大圆角越大。简单来说就是将图片分成四个区域,找出拐角处的拐子的设置为透明。如图,找到四个红色区域外边的白色区域 设置为透明即可。学习记录整理,自用,也希望能帮助到有相同需求的人。

2023-08-10 17:49:07 730

原创 Unity开发笔记:截取指定位置含有UI的场景截图并输出

UI所在的Canvas设置为RenderMode.ScreenSpaceCamera并挂载相机,然后设置该相机的渲染RenderTexture并开始render,注意这里渲染是从屏幕中心扩展到四周,也就是说RenderTexture小于屏幕的话只能看到中间部分,然后代码如下,已添加注释。为了方便,我直接使用我的图片的固定大小500*500,自用可以自行获取所需图片尺寸。函数中0、1、2三张图只是为了表明ReadPixels中坐标具体参数细节,可删去。学习记录整理,自用,也希望能帮助到有相同需求的人。

2023-08-09 17:23:28 1199

原创 c++重载函数和虚函数(重写)为什么分别在编译和运行时候确定

实际上在c++中,无论重载还是重写,最终都会生成多个不同的函数,这些函数虽然在代码上看起来名字相同,实际上是名字不同的多个函数,对于重载,c++使用函数倾轧技术,在ide看来,重载的不同函数的参数和返回值都会使得经过函数倾轧后表现的不同,重写更不必说,不同虚函数表指向的函数显然不同。(2)重写(覆盖,动态联编)指的是,派生类中的函数重写了基类中的虚函数,重写的基类的中函数必须被声明为virtual,并且返回值,参数列表和基类中的函数一致;所以执行一个函数的时候,需要知道具体的函数地址,才能执行函数。

2023-06-27 17:16:07 371

原创 C++继承机制下析构和构造函数的执行次数与分析

这里leakmemory的释放由~ B来做,但是在没有将~ A设置为virtual的情况下,虽然~B没有执行,leakmemory没有被释放,但是IDE仍然认为这个B对象已经被释放,我们无法再使用这个对象,这就造成了内存泄漏。情况2中,父类A析构函数是virtual,使用虚函数机制调用子类B的析构函数,由于B类中含有A对象,根据上述析构函数调用第三条规则,故会在之后调用A的析构函数。情况1中,父类A析构函数不是virtual,故无法使用虚函数机制调用子类B的析构函数。看A加不加virtual时候的输出。

2023-06-27 13:02:22 371

原创 高软作业4:从需求分析到软件设计

密钥和算法协商阶段:服务器端和客户端分别发送算法协商报文给对端,服务器端和客户端利用Diffie-Hellman密钥交换算法,主机密钥对等参数,生成共享密钥和会话ID。这个其实在上面SSH的连接过程中已经体现,连接的时候就会进行用户名和密码的验证才会进行后面的操作。需求分析和逆向工程是软件开发和系统设计过程中的两个关键概念,在不同的阶段和目的下发挥着重要的作用。连接的管理和会话保持:研究如何管理远程连接和会话的生命周期,包括连接的建立和断开。研究远程连接中可能出现的错误和异常,如连接失败和网络中断。

2023-05-30 20:37:08 533

原创 lab4:以time/gettimeofday系统调用为例分析ARM64 Linux 5.4.34

(1)svc指令触发系统调用。(2)保存现场(el0_sync处的内核汇编代码保存异常发生时程序的执行现场),然后根据异常发生的原因(ESR_EL1寄存器)跳转到el0_svc,el0_svc处。(3)执行系统调用内核处理函数sys_syz()。

2023-05-23 11:00:09 452

原创 Linux课程总结报告

虚拟化是云计算的基础。虚拟化使得在一台物理服务器上可以运行多台虚拟机,虚拟机共享物理机的CPU、内存、I/O硬件资源,但逻辑上虚拟机之间是相互隔离的。OpenStack作为IaaS云操作系统,最主要的服务就是为用户提供虚拟机。在目前 OpenStack 的实际应用中,主要使用 KVM 和Xen这两种Linux虚拟化技术。虚拟化技术对Linux系统的影响主要体现在以下两个方面:资源共享与隔离。

2023-05-15 19:17:16 423

原创 lunix lab5:深入理解进程切换

call指令压栈RIP寄存器到进程切换前的prev进程内核堆栈,而ret指令出栈存入RIP寄存器的是进程切换之后的next进程的内核堆栈栈顶数据,所以 ret 恢复的就是 next 进程内核堆栈中的 rip 值,实现了 rip 值的保存与修改。swtich_to 函数会进一步调用 __switch_to_asm,而 __switch_to_asm 的实现是和体系结构强相关的。这段代码是一个用于进程切换的函数,它接收三个参数:当前的运行队列rq,当前正在运行的进程prev以及要被调度的下一个进程next。

2023-04-25 23:17:45 428

原创 高软Lab3:深入理解Callback函数

在此函数中,第二个参数为一个函数指针,传入一个Condition类型的函数,即回调函数,通过将指定的函数传入,使用业务定制化查询条件进行查询,进行解耦,将工具代码和业务代码逻辑分开。回调函数:回调函数是一个作为参数传递的函数,多使用函数指针实现,通常在发生特定事件和满足特定条件时由另外的软件模块通过函数指针的方式调用,该过程称为对事件或者条件的响应。现重点关注其查找操作。分析得知此处模拟了面向对象中继承和多态的机制,隐藏l各个模块之间的实现细节,只暴露接口。在程序中,使用了回调函数机制的函数模块如下。

2023-04-03 22:00:14 187

原创 linux lab3-使用vscode调试linux

环境:ubuntu-18.04.6(ubuntu 22.04真的是坑,之前坐别的实验就容易报一堆错误,换低级版本18和20就没那些问题,这次看同学用22.04的又是一堆报错)

2023-03-24 11:48:53 251

原创 剑指专项刷题笔记01-位运算和双指针

剑指专项刷题笔记01-位运算和双指针

2023-03-07 19:54:49 57

原创 软件项目的可行性分析包括哪些方面?影响决策的关键因素又是什么?

软件项目的可行性分析包括哪些方面?影响决策的关键因素又是什么?答:软件项目的可行性因素,从宏观影响角度分析,分为经济、技术、社会环境和人等4个要素;从风险影响角度分析,分为项目风险、商业风险、技术风险、用户风险和过程风险等。对各种影响软件项目可行性的因素进行归纳,可以得到3个方面:经济可行性、技术可行性、风险和不确定性。影响决策的关键因素是项目的可行与否。例子:假设进行一个真实的项目,在我们开发一个系统时,甲方委托我们开发。如果甲方提供4万元人民币。我们需要进行成本和效益分析,比如,开发周期两个月

2020-05-24 17:34:30 10759

原创 XP和Scrum两种开发模式的比较、辨析

XP和Scrum两种开发模式的比较、辨析XP开发模式简介XP是Extreme programming的缩写,即极限编程,是一种软件工程方法学,也是敏捷软件开发中最富有成效的几种方法之一。XP的工作流程XP工作流程的第一步就是收集用户故事,且用户故事由用户编写,也要得到用户的确认,这可以理解为XP的需求获取方式。就是要制定发布计划,该过程确定的是在系统某个发布版本应该完成哪些用户故事,开发需要经过数次迭代,而每次迭代中都会完成一部分用户故事。就是具体每次迭代开发过程要做的事,包括计划(也即确定当次

2020-05-24 15:29:38 2211

原创 Python笔记: 读取txt,excel,csv文件并显示;读取一幅彩色图形并显示,同时进行灰度化,并对该图像进行图像增强

目标任务:读取txt,excel,csv文件并显示读取一幅彩色图形并显示,同时进行灰度化,并对该图像进行图像增强配置:python3.6、pip20.1import csvimport xlrd#txtwith open(r"C:/Users/Administrator/Desktop/expir1_txt.txt", "r") as f: data = f.read() print(data) for i in range(2): print("\

2020-05-08 17:56:49 668

原创 滚动计划方法、WBS方法、网络计划方法:理解三种计划方法并比较优缺点

1、滚动计划方法:一种动态编制计划的方法,它按照“近细远粗”的原则制定一定时间的计划,然后按照计划的执行情况和环境变化,调整和修改未来的计划,并逐渐向后移动。优点:灵活、适应性强,且具有稳定性和可操作性,从而达到动态平衡,紧密链接了长短期计划,能很好地发挥计划在知道项目实施中的作用。缺点:降低了计划的严肃性。2、WBS方法:将复杂的问题分解为简单的问题,然后更加分解的结果进行计划的方法。优...

2020-04-12 16:29:25 7940

原创 二分查找:理解并活用变量以解决两类二分查找问题

什么是二分查找:二分查找是也称折半查找(Binary Search),它是一种效率较高的查找方法,是计算机科学中最基本、最有用的算法之一。 它描述了在有序集合中搜索特定值的过程。二分查找中使用的术语:目标 Target —— 你要查找的值索引 Index —— 你要查找的当前位置左、右指示符 Left,Right —— 我们用来维持查找空间的指标中间指示符 Mid —— 我们用来应用...

2020-04-05 23:53:35 132

原创 c++制作简单支票计算脚本(回溯+剪枝)

前些天我的亲戚找到我,说认清我给他做一个简单支票计算脚本,要求如下:输入不同数量的支票,每张支票只能用一次,给定一个目标数,求出用已给支票组合出目标数的所有组合方式,如果无解,给出可解的低于该目标数的最大数字的所有解。例如:也就是求数字的所有组合问题。思路是回溯和剪枝。算法如下:class Solution {private: vector<int> candi...

2020-03-29 13:02:31 212

原创 修道士和野人问题:所有解、启发求解、简单界面

一.作业任务修道士和野人问题:设有三个修道士和3个野人来到河边,打算用一条船从河的左岸渡到河的右岸去。但该船每次只能装载两个人,在任何岸边野人的数目都不得超过修道士的人数,否则修道士就会被野人吃掉。假设野人服从任何一种过河安排,请规划出使全部6人安全过河的方案。问题提示:应用状态空间表示和搜索方法时,可用(Nm,Nc)来表示状态描述,其中Nm,Nc分别为传教士和野人的人数。初始状态为(3,3)...

2020-03-16 08:48:45 11025 4

原创 从函数定义上彻底看懂++i和i++的三个区别

三个区别:返回值上:i++返回原来的值,++i返回加1后的值。语法上:i++不能作为左值,++i可以。效率差异:++i效率更高,i++虽然效率较差但更符合人类思维习惯。接下来从定义上做分析:++...

2020-03-10 23:27:03 297

原创 C++中内联函数的解析和运用

C++中,类的成员函数必须在类内声明,但是类的成员函数的定义可以发生在类的内部和外部。在类的外部定义成员时,需要使用域名解析符::,它连接类名和函数名,指明当前函数属于哪个类。在类内外定义成员函数的区别:类内定义的成员函数会自动成为内联函数,类体外定义的则不会如此(可以在类内声明函数的时候使用inline关键字使得类外定义的成员函数也成为内联函数)。实际开发中,为了避免过多过长的内联函数增大可行...

2020-03-03 10:49:31 237

原创 详解C结构体、C++结构体 和 C++类:本质、相同之处和区别

今天,我们来细说一个大家可能都想到过但是往往没有深究的问题:结构体和类的区别,这个问题在咱们面试的时候是可能被提问的(划重点),让我们从头来开始说起:首先我们要明确概念,什么是数据结构?什么是数据类型?定义如下:数据结构:计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的...

2020-02-28 20:34:09 820 2

原创 人工智能报告:经典回溯问题——八皇后问题

写在报告前:八皇后是经典的回溯问题,也是人工智能的入门级题目,在保证功能的前提下我尽量缩减了代码量,也在原有报告代码添加注释以方便大家快速掌握。一.作业任务八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。二...

2020-02-14 11:04:52 2664 1

Python学习笔记1资源.zip

python学习笔记一所用文本及图片,一个txt文本、一个slx表格、一个csv表格、一张jpg图片,本内容非学习必须,可以自己制作自己所用资源,发布本文件只是为了对应我的学习笔记。

2020-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除