自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Dive into pattern design 读书笔记 (一)

OOP 四大支柱封装抽象继承抽象类的抽象就是对现实对象的一种模拟,但是只是根据需要模拟部分属性和方法;封装+抽象是接口和抽象类的基础,有了它们接口和抽象才能顺理成章;接口就是类中public部分。...

2021-10-17 22:25:57 338

原创 计算机系统概论第四章之冯诺依曼模型

计算机系统概论第四章Von Neumann 模型Von Neumann 模型

2020-11-22 23:08:10 468

原创 汇编语言学习

概述之所以学习汇编,是想深入地学习操作系统原理,但发现买的操作系统名著都看不懂,或者似懂非懂。于是偶然看见《Orange’s 一个操作系统的实现》能看懂一点,并且感觉能亲自动手写一个操作系统,哪怕是最简陋的,也是极大的帮助,于是决定认真看《Orange’s 一个操作系统的实现》这本书。但是在看的过程中,遇到了实模式和保护模式,一下子就卡住了,我知道自己在汇编语言这里需要补知识了。于是买了《x8...

2019-05-01 23:39:29 155

原创 Effective C++ 读书笔记(1-4条款)和理解

1、视C++为一个语言联邦C++是一门从C语言发展演化而来的语言,而且还在演化中,越来越智能和强大,相应地就增加了学习的成本和代价。C++具有多种编程范式:面向过程(C语言风格)、面向对象(核心特征)、函数式编程(不了解)、泛型(略了解、强大)和元编程(一点不了解)。所以这是一门奇葩而杂揉的语言,要啥有啥,所以没有一个人敢轻易地说自己精通C++。 标题说C++是一个联邦,那它有哪些邦呢?...

2018-08-12 17:52:05 164

原创 Effective c++读书笔记开篇

Effective c++这本书适合解惑一些C++中的一些难点,发现面试中经常会被问到里面的一些知识点,对每一个条款都有认真地看。 平时用C++基本不会遇到这么刁钻的问题,但是增长见识还是可以的。 打算最近认真地看,至少每天看一个条款,不图快,但求理解并记住。...

2018-08-12 17:51:45 229

原创 Windows程序关闭的问题

问题描述最近遇到一个技术难点,要求在任务管理器中关闭不了程序,虽然在驱动层里实现了拒绝关闭程序的请求,但是在任务管理器的“应用程序”的页面下,点击“结束任务”,却能关闭掉。而在“详情”或“程序”页面下,却能实现拒绝关闭的请求。应用程序界面的“结束任务”进程猜想应该是task manager给待关闭的进程发送了WM—CLOSE消息,如果没有响应,超时500ms后,再调用Terminate...

2018-07-30 23:51:28 735

原创 2018年6-7月工作小结

前言一直在做驱动开发,主要是修改bug,bug层出不穷,因为涉及的是一个全新的工作领域,非常难的问题,通常一个bug就要改很久。主要的bug修改内存泄漏,同事应用数据库失误,被我查出来了,然后改正了。句柄泄漏,这是我导致的,打开进程以后,然后忘记关闭句柄。知识点的收获同步手段,关键代码段和mutex的区别,mutex是内核对象,关键代码段不是,mutex可以用以进程间...

2018-07-18 23:11:24 134

原创 3-5月工作总结

3-5月工作经历简述从三月开始,我就参与公司的文件系统驱动开发,利用的框架是Minifilter。在驱动层判断文件的类型,然后决定拦截与否。从中学会了以下的一些东西:Minifilter框架开发驱动通过这个项目,大致学会了如何利用minifilter开发文件系统驱动,相对旧的驱动开发模式而言,这个框架使开发变得简单了很多。但对于我而言,还是很难的,入门都很难。Windbg的使用...

2018-05-31 22:58:07 185

原创 最近工作总结

前言新的一年,2018年到了,本来打算继续做MFC开发,可现实却让我干起了驱动开发,具体为文件过滤驱动开发。 驱动开发是费时费力,有技术含量,然而市场就业范围小,但拿人钱财,就必然替你做事,没有讨价还价余地,所以只能硬着头皮干下去。内容首先下载wdk,sdk版本要对应,虚拟机(VMWare,VirtualBox),各种操作系统,然后还有各种调试环境的搭建。串口的设置等,在此不详细叙述...

2018-03-22 23:00:01 202

原创 CSAPP中第九章的几个问题记录

1栈和堆物理空间换出问题栈和堆存在于虚拟地址空间中,那么实际的物理地址指内存地址,那么如果存在页冲突的话,比如进程A的栈所在的空间与进程映射的物理空间冲突的话,那么这个栈换出到哪里?堆也是一样,发生物理空间冲突的话,用什么机制保证不会冲突或者有临时的磁盘空间以供换出?fork与execve的问题fork的过程是复制父进程的各种段和文件描述符,那么fork出的子进程为什么会返回0呢,fo

2018-01-24 08:49:33 327 2

原创 Windows多进程共享内核对象笔记

内核对象的本质内核对象存在于内核空间中,它是一片内存,由内核句柄来标识它。内核对象通常有哪些互斥量、信号量等内核对象的作用通常用来同步进程或者线程内核对象的创建、使用和消亡内核对象由进程创建,生成在内核空间中,然后在进程的内核句柄表中获得一条记录,该记录包括了句柄和内核对象的属性值。每当内核对象被进程申请拥有时,该内核对象的使用记录会增加1,我猜该使用记录由操作系统维护

2018-01-21 15:35:20 338

原创 最近两周工作小结与读书笔记

工作小结最近一直做MFC的程序设计,感觉越来越熟悉MFC程序设计。虽然MFC作为开发框架比较古老,而且貌似微软还停止了更新,且并不跨平台。然而工业领域大量的代码是由MFC开发的,而且很多项目从VC6.0遗留下来,不得不在MFC上面开发。 这两周我一直在完善程序的界面,根据需求把原来的控件进行改写,使之能满足要求,我成功地实现了根据不同的警报等级用不同的背景颜色来显示。还根据EXCEL的报表风

2018-01-14 22:39:06 660

原创 CSAPP第七章小结(二)

序言虽然已经看过了第八章和第九章,但是第七章很多部分仍旧模糊,所以要弄清楚链接的几个点,于是开始阅读《程序员的自我修养》,以此弄懂。重定位当下的计算机技术有意思的是,它不是凭空而来,而是迭代更新发展而来,教科书上通常只写当下,所以让人莫名其妙。当了解了技术的发展轨迹之后,就会觉得原来如此。 重定位起源于纸带时代,那时候程序写在纸带上,0就打个孔,1不打孔,当程序中有跳转指令时,打

2018-01-07 20:30:23 334

原创 CSAPP第七章笔记

1本章主要讲什么2本章看后有何好处本章的难点在哪里1、本章主要讲什么?以我所见,一个程序的生是从源代码编辑而开始,经历编译,汇编、链接一系列的形态转换变成可执行文件,死是在执行完毕后被终止。我认为本章主要讲程序的链接(link)部分,首先将程序的编译作为引子,然后集中篇幅讲链接:静态链接(符号解析, 与静态库链接, 重定位) 讲完链接之后,接着讲加载(load),但是加载不是最重要的,

2017-12-24 16:06:51 478

原创 CSAPP第五章小结

第五章小节第五章中,主要讲各种优化技术,首先通过引入CPE的概念来量化各种优化方法得到的性能,从而给于我们更强的说服力。第二,作者指出优化的地方,什么地方应该优化,就是关键代码中的少数内部循环部分,这些部分耗用的时间通常是值得关注的。两种优化技巧作者举例说明了各种编码技巧对性能的提升,尤其印象深刻的,减少重复过程的调用和减少对存储器中的重复引用,可以获得非常不错的改善,比如int i;int *r

2017-12-17 19:31:24 1046

原创 一周总结

总评本周总体上过得不太如意,心情开始浮躁起来,好不容易的周末,让我浪费了两个上午,因为在前一天晚上玩手机到夜里2点半。看CSAPP到了第六章了,本周真是看得极快,第五章迅速翻过,感觉没太入心,可能还需要重看,但相比较第三章而言,第五章和第六章真是简单太多,因为我之前看过,而且学过微机原理。反思适当的休息是必要的,而过度的睡懒觉是懈怠的开始,这必须刹住!bomb实验的挫折好不容易找到实验材料,安装网上

2017-12-10 12:43:20 293

原创 error lnk 1169错误的解决办法

问题背景描述最近工作时,遇到了这个错误,我在一个头文件bkdrhash.h中定义了一函数#ifndef _____H#define ----Hsize_t BKDRhash(char * pch){......}#endif当我第一次使用这个函数时候,直接用#include”bkdrhash.h“,没出现错误。当我又在同一个工程的另一个cpp文件中使用时,编译阶段出现了error lnk

2017-12-08 22:52:21 6703

原创 CSAPP第三章学习笔记(二)

学习进度本周阅读完了第三章除了最后一节的x86扩展至x86-64的一节外,其他的基本上阅读完了,尽管留了几个迷惑的点,后面做练习的时候,再来解决。收获上周主要是学习了控制结构如何翻译成汇编语言的,本周主要是学习: 帧栈如何建立、如何查看帧栈的内容,帧指针(%ebp)不动,而栈指针(%esp)如何上下跳动而访问栈的内容。学习如何通过指针访问数组,矩阵,还有三维数组,以及汇编语言中的对她们的元素的优

2017-12-03 18:36:01 417 1

原创 《CSAPP》第三章之学习笔记(一)

学习的理由CSAPP,我一直对它恋恋不忘,因为每一次看了都很有收获,但又不能全部记住,而且感觉书很厚,一时半会儿也看不完,但是我觉得这本书是必须要看完的,无论如何,必须看完!因为它是我目前能看懂的比较好的技术书籍之一,其次它是一座通往各种技术的大桥,过了之后,可以继续顺利钻研各种技术了,比如操作系统等。正文按照曾国藩对经典书籍的阅读方法,每天读10页,进度正好,因为工作时间不允许看其他书,所以唯有利

2017-11-26 00:06:46 604

原创 工作所遇问题总结

一 多线程入职后,单位给看的第一个项目代码,是MFC程序,里面利用CWinTread类来生成一个工作线程,而这个线程是可以接收消息的,这让我感觉很惊奇,居然还有这样的技术?这个线程可以接收消息,也可以利用postThreadMessage给主线程发送消息,真是让我感觉新奇。我一定要弄明白,其中的道理!软件狗软件狗是一种硬件加密授权方式,我所理解的工作原理是应用软件需要从软件狗里面读取某种信息,然后才

2017-11-17 22:00:42 233

原创 对于技术选择的迷茫

想到自己已经28岁,只是个不入流的程序员,身边、网上各种新的技术、新的名词满天飞,比如大数据、机器学习、深度学习等。唯恐赶不上时代的脚步而惶惶不安,虽然想从低处开始踏实积累,又恐学习的东西已成明日黄花,无可大用,所以实在迷惑不已。 今天从南京回来,才动车上搜索周鸿祎的经历和他对程序员的看法,我发现他的一些话可以给我一些启发,比如如果真的对编程感兴趣,你才能吃苦做下去。另外要特别重视基础,很多当下时

2017-11-14 20:40:20 232

原创 《深入浅出MFC》第一、二章笔记

前言因工作需要,重新编写MFC程序,虽然在这个年代,MFC大大地没落了,但是也还得认真了解这个框架,因此重新学习《深入浅析MFC》。 本书是一本非常经典的书籍,很值得读。第一章笔记在本章中,作者指出:如果读者不了解Win32程序的写法,不熟悉C++语言,那么不要看本书,看了会受到打击。去年我就是这样。作者在本章中介绍了Windows系统是消息驱动,强制多任务系统,Win32程序生成与消亡的过程,消

2017-11-09 22:45:44 212

原创 《操作系统之哲学原理》笔记一

第四章进程管理、内存管理和文件管理是操作系统的三大核心功能 进程的定义,发明它的动机是什么?进程是运行的程序为了提高CPU的利用率,需要并发,因为要实现并发,所以发明了进程。多道编程的好处可以极大地提高CPU的利用率进程的产生与消亡进程的层次结构UNIX进程组Windows所有进程平等进程的基本状态执行就绪阻塞进程管理进程管理的手段是进程表进程的创建Linux –>fork

2017-11-08 23:46:02 320

原创 面试问题整理

1.malloc函数在内部干了什么? 答:。。。不知道。2.TCP/IP通信时,如何判断有没有断开连接?或者数据有没有发送成功? 答:我认为send函数在发送数据时,如果成功会返回发送字符串长度,如果没有,则会返回错误代号,或者是服务器重启错误,或者是网络断开错误等。如果发生了错误,那么就要立即关闭本次通信的套接字。3.stl中vector和map用什么数据结构实现的? 答:vector用的是

2017-11-04 20:57:45 167

原创 自勉

I do not choose to be a common person, It is my right to be uncommon-if I can. I seek opportunity-not security. I want to take the calculated risk, to dream and to build, to fail and to succeed.

2017-10-27 22:19:51 153

原创 数据结构学习的笔记与思考

算法的选择之前有一种想法,认为编程中用到的数据结构和算法都是很高深的,那才显得有水平,以为牛人们实现的算法都是又精巧,又绝妙的。也一直想学习看看有哪些高深的算法,但最近的学习改变了我的看法,《程序设计实践》一书中的看法是其实常用的数据结构都是很简单的,也就是数组、链表、hash表、树。常用的算法就更少了,排序和查找是最常用的。其中排序也通常是快速排序就把问题搞定了。查找嘛就是二分查找法,但是要求数组

2017-10-26 09:55:51 260

原创 C语言中函数之指针参数

C语言中函数的参数传递其实只有一种传递方式,即值传递,也就是实参被复制给栈上的形参,所以形参是在函数结束时会消亡。既然是复制,所以操作形参当然不会影响实参。 那么为什么通过传递指针,为什么可以影响到实参(指针)所指向的值呢? 以下是我的理解,当实参是指针变量的情况下,将其内容(指针值)复制给函数中的形参(指针变量),因此形参获得了一个指向一个变量的值,该变量和函数不在同一个栈上,但形参(指针)依

2017-10-21 16:33:25 501

原创 在Word中移除MathType

不可否认,MathType很好用,但是因为MathType过期了,或者出现了一些其他问题,比如缺少.dll文件,导致每次打开Word都要弹出一个提示框,所以决定移除它。移除办法:到官网http://www.mathtype.cn/xiazai.html下载一个最新版安装Mathtype,然后安装到让选择“安装”或“移除”时,选择“移除”就这样很轻松地移除了MathType从此不再有烦恼。。

2017-10-17 08:37:32 4708 3

原创 OpenCV + MFC 实现简单人脸识别

OpenCV + MFC 实现简单人脸识别用VS2010 + OpenCV 2.4.9 实现首先放效果图(为了防止辣眼睛,后期处理了下): 首先声明,我是在参考http://blog.csdn.net/mr_curry/article/details/51098311的基础上实现的。切入正题:1 设置控件首先新建一个基于Dialog的MFC程序的工程,工程名为FaceDetect ;然后在ID

2017-10-03 23:36:08 2911

原创 OpenCV objdetect人脸识别例子校正

http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html#cascade-classifier 一文中 的代码在我的VS2010中能通过编译,但是打开摄像头之后,一片灰色,然后就没然后了,或者出现下图,点击确定之后,停止运行程序。

2017-10-02 23:56:01 928

原创 VC++学习曲折历程

入职以后,由于单位需要用MFC编写桌面程序,然而我在学校时,跟风地轻视VC++,因而没有学过MFC。由于MFC直接用框架生成了一个标准结构,然后附带很多宏,封装了很多API,学习起来难度极大,虽然看了孙鑫的《深入详解VC++》的书和视频,以及侯俊杰的《深入浅出MFC》,然而一接触到实际项目,仍旧两眼一抹黑,看哪哪都有点印象,但是哪都不会。可能是看书时太急躁,虽然看了3遍以上以上两本书,然而事倍

2017-03-26 12:10:29 327

原创 C语言中的高级指针

指针是个非常强大而又不容易掌握的知识,通常对于单个的变量或者数组,通过指针访问是很容易理解和实现的,而对于一些指针,比如泛型指针,函数指针,和指针的指针是不那么自信的。在一本讲算法的书中,作者对链表的初始化时,在函数的参数中,使用了函数的指针,把我给震惊了。我知道指针可以作为形参,但是用函数的指针作为形参,实在是亮瞎了我的眼睛啊。另一个让我心有余悸的地方是,函数的形参中使用泛型的指向指针的指针(v

2015-10-06 16:24:49 236

中国矿业大学模电课件

2010年中国矿大信电学院课件,希望对你有所帮助,

2010-11-19

空空如也

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

TA关注的人

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