- 博客(18)
- 收藏
- 关注
原创 GDB&Windbg常用命令对比总结
最近一直在Linux环境和Windows环境调试,命令容易弄混,所以做了这个表格对比,后续还会不断补充,如有错误请指出(windbg还是更推荐gui操作,毕竟更好的gui谁不爱用,哈哈)
2025-04-05 00:06:32
176
翻译 Wddm内存段翻译
在vidmm可以管理GPU的地址空间之前,miniportDriver必须使用内存段向vidmm描述Gpu的地址空间(这里应该指的是PA),MiniPortDriver创建内存段以统一和抽象Video memory,驱动可以根据硬件支持的内存类中配置内存段,(例如帧缓存或者系统内存段)
2023-12-04 23:50:09
362
原创 DX runtime分析
这里可以很清楚的看到d3d11_3SDKLayer.dll会加载真正Runtime d3d11.dll,这里d3d11_3SDKLayer.dll导出了两个接口,D3D11RegisterLayers和D3D11TranslateCreateDevice,其中又调用d3d11.dll的D3D11CoreRegisterLayers和D3D11CoreGetLayeredDeviceSize、D3D11CoreCreateLayeredDevice。这里可以看到dxgi.dll就是在这里被加载的。
2023-11-14 00:10:30
286
原创 windows Kernel Model Driver快速入门(2)-开发第一个驱动
从这节开始,我们正式进入Windows驱动开发(本系列教程参考了Windows内核编程这本书,后面大部分项目会来自这本书)
2023-10-24 23:20:49
486
原创 windows Kernel Model Driver快速入门(1)-Windows体系结构
【代码】windows Kernel Model Driver快速入门(1)
2023-10-20 00:02:11
350
原创 AMD Kernel model Driver(1)
OverLay:指的是不通过GPU流水线处理也不被放入FB和CRTC的数据,但最终FB中的数据会一起通过显示器显示出来,直接覆盖在FB上面,不需要去叠加,混合,比如通过video codec出来的。
2023-10-19 21:07:05
502
原创 X86汇编调试环境搭建
这里写自定义目录标题汇编环境搭建新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入最近毕设需要做一个基于X86的微型OS内核,一直在学习汇编,前来记录一下汇编环境搭建本次使用vscode搭建的,需要的插件有X86 and
2021-11-09 22:13:19
1403
原创 linux图形栈(0)
直接上图看关系 (这个图一定要熟记于心)从上图可以看出Linux图形栈主要分为3d和显示部分名词解释mesa是一个OpenGL的开源实现,前期是软件实现,后期加入硬件加速libGL是openGL接口的实现,3D application(如这里的3D-game engine)可以直接调用libGL进行3D渲染。libDRM和kernel DRM是DRI(Direct Render Infrastructure)的kernel实现,及其library。X-server或者Mesa 3D,可
2021-09-21 21:54:47
1244
原创 SDL相关函数分析
文章目录SDL分析SDL_Init(uint flags)SDL_Window&SDL_CreateWindowSDL_Renderer(渲染器系列函数)SDL_CreateRendererSDL_RenderCopySDL_RenderPresentSDL分析之前做过ffmpeg_SDL播放器时用到一些 记录一下SDL_Init(uint flags)初始化函数,使用之前调用,flags表示初始化去哪些子系统flags子系统SDL_INIT_TIMER计时器子系
2021-09-21 13:10:48
377
原创 mjpeg视频传输和人脸识别
最近在学习树莓派,想做一个人脸识别,并且把视频传输上去,想来想去想到一个方案,用mjpeg视频传输,传输上去在PC端用opencv进行人脸识别。mjpeg:mjpeg是由一系列连续的JPEG图片组成的视频流,因此是非帧间编码器,同时,由于是非帧间编码,需要算力比较小,所以比较适合嵌入式平台,缺点需要的网络带宽比较大,仅支持视频流。安装mjpegpi@raspberrypi:~ $ sudo apt-get install cmake libjpeg8-devpi@raspberrypi:~ $ g
2021-06-30 23:54:27
1583
2
原创 CUDA error: class template has already been defined
最近在学习在<<CUDA编程权威指南>>,按书上使用命令行编译.cu程序,但报出这个错误C:\Programming\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include\type_traits(95): error: class template “std::_Is_function” has already been definederror: class template has al
2021-06-18 12:22:24
957
6
转载 C++异常处理
最近在学习OpenGL时碰到了文件抛出异常问题,对于这个不是很了解,百度了一下回来做个整理为什么需要异常处理程序运行时常会碰到一些错误,例如除数为 0、年龄为负数、数组下标越界、文件不存在等,这些错误如果不能发现并加以处理,很可能会导致程序崩溃。C++ 异常处理机制就可以让我们捕获并处理这些错误,然后我们可以让程序沿着一条不会出错的路径继续执行,或者不得不结束程序,但在结束前可以做一些必要的工作,例如将内存中的数据写入文件、关闭打开的文件、释放分配的内存等。基本用法由throw语句和try…ca.
2021-02-13 17:32:34
133
原创 OpenGL安装教程
OpenGL安装教程一、安装前准备1:VS20172:GLFW下载链接(建议下载32位)3:GLAD下载链接点击下面的generate,会看到一个glad.zip,直接下载即可。二、安装步骤1.首先VS2017创建一个CPP工程,和正常创建工程一样。2.右键打开工程所在文件夹3. 将glad文件夹下的include文件夹复制到刚才打开的文件夹下,并且也将glfw下include文件夹下的GLFW文件夹复制到刚刚的include文件夹下;在刚刚打开的工程目录下新建lib文件夹,将g
2020-12-05 21:40:08
29510
17
原创 链栈
之前偶尔写了一个链栈程序,作用将十进制数转化二进制并最后出栈,可能写的有些复杂,仅供参考,欢迎评论。#include<stdio.h>#include<stdlib.h>#define true 1;#define false 0;typedef struct node { int data; struct node *next;} LinkstackNode;typedef LinkstackNode * Linkstack; void
2020-11-21 00:04:10
244
原创 文本处理
文本预处理文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤:1.读入文本2.分词3.建立字典,将每个词映射到一个唯一的索引(index)4.将文本从词的序列转换为索引的序列,方便输入模型语言模型一段自然语言文本可以看作是一个离散时间序列,给定一个长度为 T 的词的序列 w1,w2,…,wT ,语言模型的目标就是评估该序...
2020-02-14 18:58:24
1696
原创 线性回归代码实现
线性回归1.线性回归的基本要素2.线性回归模型从零开始的实现3.线性回归模型使用pytorch的简洁实现线性回归的基本要素模型为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系: price=warea⋅area+w...
2020-02-14 17:33:29
495
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人