- 博客(23)
- 收藏
- 关注
原创 一次关于aio的debug
std::thread 的构造函数接受了一个可调用对象(函数或函数对象)以及它的参数。Ownership Transfer with std::move: std::move(ptr.get()) 将会调用 ptr.get() 来获取 Work 对象的原始指针,然后使用 std::move 将其转移到 std::thread 构造函数中。在您提供的代码中,您尝试创建了一个 std::unique_ptr,并且在创建 std::thread 时使用了 std::move 来传递 Work 对象的所有权。
2023-12-08 16:01:57 112
原创 XV6 Lab: page tables
XV6 Lab: page tables文章目录XV6 Lab: page tables一、vscode调试xv6代码二、调试过程1. kinit();2. kvminit();总结一、vscode调试xv6代码参考二、调试过程1. kinit();voidkinit(){ initlock(&kmem.lock, "kmem"); freerange(end, (void*)PHYSTOP);}对于end变量的赋值是通过kernel.ld确定的。(链接脚本)对
2022-05-18 22:50:29 963
原创 理解霍夫变换
霍夫变换一、数学理论二、代码实践总结一、数学理论我们先从最简单的数学问题出发,给定一些二维坐标点,我们怎么才能求出通过最多点的直线呢?有刷Leetcode的同学可以参考149. 直线上最多的点数这道题去思考。大家都知道直线方程可以表示为y=kx+by = kx + by=kx+b的形式,所以我们可以枚举所有点之间的组合,计算出来所有组合得到的k和b。(同时还要考虑斜率不存在的情况)简单分析一下上面做法的时间复杂度。不难理解枚举所有点之间组合的这个步骤需要Cn2=n∗(n−1)1∗2C_n^2 = \
2021-09-20 16:35:19 328
原创 动态规划的套路
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、动态规划的思考艺术二、第一类基本型(“时间序列”型)1 打家劫舍2 打家劫舍II3 买卖股票的最佳时机 III2.读入数据总结前言本文内容来自wisdompeak大神的<残酷刷题群算法小讲座:动态规划的套路>。大神已经总结的很好了。所以下面的内容,就是给出大神举的例子(Leetcode上的题)。自己尝试写出python版本的代码。一、动态规划的思考艺术LeetCode 62class Solution
2021-06-19 14:57:34 724
原创 应用眼中的操作系统:系统调用
文章目录前言一、什么是可执行文件二、查看ELF文件1.objdump2.readelf三、调试四、系统调用前言本篇文章是2020南京大学"操作系统: 设计与实现"的课程笔记。这里说一句蒋炎岩老师讲的太好了。课程内容详见B站。本文章记录的内容主要是课程中学到的命令和工具,方便自己在日常生活中使用理解。记录的内容只是课程的一部分。一、什么是可执行文件可执行文件也是字节序列,我们可以用cat命令去查看这个文件,当然这个时候,我们看到的是乱码。乱码的原因是可执行文件的编码格式和文本编码格式不一样。可执行
2021-04-10 00:43:12 360
原创 编译,预处理
文章目录前言一、编译二、编译多个文件三.关于头文件三.关于gcc的搜索路径四.关于预处理前言我想写一个系列的博客去解释编译,链接的过程。作为自己工作一年的总结。让大家不要困惑在配环境这种问题上。一、编译为什么会有编译这个过程呢?其实本质的原因是:CPU是无法直接理解我们写的程序语言(像C,C++等),有过一点汇编语言基础的,我们会了解到CPU执行的是一系列指令集,像mov,jmp,call等。当然不同的CPU执行的指令集还存在差异,这些指令集是由像英特尔的开发人员设计的。所以我们写的高级程.
2021-04-09 00:20:51 249
原创 CS107_编程范式_课程笔记_Lecture4
swap function交换两个变量的值,是一个很简单的代码。但是能不能写出一个通用的swap function。就像c++的模板。void swap(void* ap, void* bp, int size) { char* buffer = (char*)malloc(size); assert(buffer != NULL); memcpy(buffer, ap, size); memcpy(ap, bp, size); memcpy(bp, buffer
2020-09-20 13:44:52 157
原创 CS107_编程范式_课程笔记_Lecture3
结构体和数组Lecture3和4重点讲解了结构体和数组,和一般教材不同的是,Jerry Cain老师通过指针更加随意地去操作结构体和数组。并且通过内存深入讲解了其中的细节。这次的笔记是来源于Jerry Cain老师布置的手写作业。Problem 1: Meet The Flintstonestypedef struct rubble { // need tag name for self-reference int betty; char barney[4]; struct rubble *ba
2020-09-20 12:45:13 227
原创 CS107_编程范式_课程笔记_Lecture1&2
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录课程简介一、Lecture1二、Lecture21.数据类型2.读入数据2.1 如何用计算机保存负数课程简介这门课很适合从学生到工作的转变。非常喜欢Cain, Jerry老师的讲课风格,学到了很多东西。大家可以从B站 和官网找到相关的学习资料。一、Lecture1lecture1是介绍本次课程的大纲。本次课程的内容涉及到C++(面向对象范式),C(程序范式),汇编,并发编程,函数范式,Python.二、Lecture2
2020-09-19 13:59:57 672
原创 《加密与解密》_OllyDbg调试器
文章目录前言一、OllyDbg简介二、OllyDbg1.界面2.CrackMe实验总结前言本次笔记内容来源于《加密与解密(第四版)》,实验工具可以从看雪论证的这个板块下找到。这本书是有前置知识,才能更好的看懂。例如汇编语言。推荐《汇编语言》王爽,这本书。一、OllyDbg简介 OllyDbg简称"OD"。建议去吾爱破解论坛下载插件多的OD。因为第一次做下面的实验的时候因为32位和64位不兼容的问题,郁闷了好久。二、OllyDbg1.界面和常见的IDE界面类似。其中红色方框圈起来的是用..
2020-08-21 19:28:26 346
原创 计算机网络_自顶向下方法_第一章
R1:“主机”和“端系统”之间有什么不同?列举几种不同类型的端系统。web服务器是一种端系统吗?主机和端系统没有什么不同。主机和端系统这两个概念是可以交换的。端系统包括:PC,工作站,web服务器,邮件服务器等,R2: "协议"一词常用于描述外交关系。维基百科是怎样描述外交协议的?维基百科:外交礼仪通常被描述为一套国际礼仪礼貌规则。这些久经考验的规则使它变得更容易国家和人民要共同生活和工作。...
2019-07-22 20:31:57 4440
原创 计算机网络_自顶向下方法_第二章
R1. 列出5种非专用的因特网应用及它们使用的应用层协议。应用应用层协议电子邮件SMTP远程终端访问TelnetWebHTTP文件传输FTP流式多媒体HTTP(如 YouTube)R2. 网络体系结构与应用程序体系结构之间有什么区别?从应用程序研发者的角度看,网络体系结构是固定的,并为应用程序提供了特定的服务集合。在另一方面,应用程序...
2018-12-10 13:24:52 1144
原创 leetcode环形链表_python
141环形链表方法一:快慢指针。分析:很显然,答案有两种情况,有环,无环。分别设置快慢指针,有环:必然相交,返回True,无环:快指针指向NULL,返回False。class Solution(object): def hasCycle(self, head): """ :type head: ListNode :rtype: bool...
2018-10-07 18:58:27 351
原创 PSNR
PSNR是”peak signal to noise ratio”的缩写,即峰值信噪比。是一种评价图像的客观标准。它具有局限性,一般是用于最大值信号和背景噪音之间的一个工程项目。 通常在经过影像压缩之后,输出的影像都会在某种程度与原始影像不同,为了衡量经过处理后的影像品质,我们通常会参考PSNR值来衡量某个处理程序是否令人满意。 计算公式 MSE=1MN∑i=0M−1∑j=0N−1∥I(i,...
2018-07-03 20:34:03 3552
原创 SRCNN_小结
SRCNN Super-Resolution Convolutional Neural Network (超分辨率重建卷积神经网络),网络模型如图所示: 该方法对于一个低分辨率图像,先使用双三次(bicubic)插值将其放大到目标大小,再通过三层卷积网络做非线性映射,得到的结果作为高分辨率图像输出。作者将三层卷积的结构解释成与传统SR方法对应的三个步骤:图像块的提取和特征表示,特征非线性映射...
2018-06-19 10:04:28 9909 8
原创 matlab_bug记录
第一个bug:clear allclcimage = imread('mm.jpg');R_image = image(:,:,1);G_image = image(:,:,2);B_image = image(:,:,3);[n,~] = size(R_image);%直接用 rand 或 randn 产生矩阵,得到的矩阵是可逆矩阵的概率为1.%为了防止这种随机矩阵在数...
2018-05-26 18:43:18 504 3
原创 QR方法
QR方法是做什么的?它可以求一般矩阵的全部特征值和特征向量。为了使用这种方法我们首先要知道一些理论基础。Householder变换(课本上的话虽然严谨,但是枯燥。总是感觉大学课本上的东西是给会的人看的,这里我用自己语言聊一下)什么叫Householder变换呢?就是在1932年,Householder这个人发现了一种变换。他给出了这样的公式: H=I−2wwTH=I−2wwT H =...
2018-05-12 20:40:49 4050
翻译 基于matlab的傅里叶变换
基于matlab的傅里叶变换例子1 作用:使用傅里叶变换找出隐藏在噪声中的信号的频率成分。(指定信号的参数,采样频率为1 kHz,信号持续时间为1秒。)Fs = 1000; % 采样频率T = 1/Fs; % 采样周期L = 1000; % 信号长度t = (0:L-1)*T; % 时间...
2018-04-06 13:43:33 27445 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人