E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Windows驱动编程学习笔记
Windows驱动
开发环境搭建之Hello World
驱动程序的生成[个人配置]win7_x64vs2015WDK10按照书上的例子进行编写,只包含了类似下面ntxxx.h的头文件,都无法找着:#include#include...第一反应是vs中的包含目录中没有驱动头文件的目录,其默认包含如下然而在对应的版本中并没有发现有对应的目录:在对应的include版本下,有多个版本,尝试着从前一个版本(10.0.14393.0中)复制一个km目录到当前版本
湖中青影
·
2020-06-22 19:06
驱动
Windows驱动
开发要点总结一
1概述驱动程序大体可分为两类三种:第一类:传统型驱动传统型驱动的特点就是所有的IRP都需要自己去处理,自己实现针对不同IRP的派发函数。其可以分为以下两种:1.Nt式驱动:此驱动通过注册系统服务来加载,并且不支持即插即用功能(即没有处理IRP_MJ_PNP这个IRP)。2.WDM驱动:此驱动不通过注册系统服务来加载,需啊哟自己编写inf文件。同时,它与NT式驱动相比最大的特点就是支持即插即用功能。
bcbobo21cn
·
2020-06-22 17:55
转载
VC++
操作系统研发和研究
[
Windows驱动
开发](二)基础知识——数据结构
本节主要介绍驱动开发的一些基础知识。1.驱动程序的基本组成1.1.最经常见到的数据结构a.DRIVER_OBJECT驱动对象//WDK中对驱动对象的定义//每个驱动程序都会有一个唯一的驱动对象与之对应//它是在驱动加载时被内核对象管理程序创建的typedefstruct_DRIVER_OBJECT{CSHORTType;CSHORTSize;////Thefollowinglinksallofth
baggiowangyu
·
2020-06-22 16:41
内核编程
并发
编程学习笔记
(十六、AQS同步器源码解析5,AQS条件锁Condition实现原理2)
目录:await()第二部分解析如何处理线程被唤醒到竞争到锁的这段时间发生的中断AQS总结await()第二部分解析之前我们说到线程在接收到signal()的通知后会从调用await()之处执行,但这里需要注意的是我们被唤醒的时候,其实并不知道是因为什么原因被唤醒的。有可能是其它线程调用了signal()方法也有可能是当前线程被中断了。但无论是哪种方式的唤醒,最终线程都会从conditionque
被猪附身的人
·
2020-06-22 14:00
linux
编程学习笔记
(七) 文件IO
1认识文件的描述符号不允许访问内核设备和内存但可以通过内核系统函数去访问但对每个内核对象进行编号ID:如果访问内核对象,只能通过ID编程模型:申请得到一个ID在内核系统函数中使用ID得到对应的内核对象数据2怎么访问文件使用函数传递一个文件系统打开文件加载文件返回ID使用函数传递ID得到数据使用函数传递ID告诉系统释放文件ID:文件描述符filedescription(fd)每个程序执行时都有个目录
赵一弘
·
2020-06-22 11:25
【linux学习笔记】
Linux
编程学习笔记
:进程控制
一、进程控制理论基础进程是一个具有一定独立功能的程序的一次运行活动特点:动态性、并发性、独立性、异步性进程ID(PID):标识进程的唯一数字父进程ID(PPID)启动进程的用户ID(UID)进程互斥:当有若干进程都要使用某一共享资源时,任何时间最多允许一个进程使用,其他要使用资源的进程必须等待,知道占用该资源者释放了该资源为止临界资源:只允许一个进程访问的资源临界区:访问临界资源的那段程序代码,为
爱吃肉的大高个
·
2020-06-22 11:15
Linux编程
Linux学习
win 驱动开发 内存链表图解
Windows内存管理(1)--分配内核内存和使用链表1.分配内核内存
Windows驱动
程序使用的内存资源非常珍贵,分配内存时要尽量节约。和应用程序一样,局部变量是存放在栈空间中的。
_暮落_
·
2020-06-22 10:56
Posix多线程
编程学习笔记
(五)—条件变量(1)
一、什么是条件变量与互斥锁不同,条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。条件变量使我们可以睡眠等待某种条件出现。条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。条件的检测是在互斥锁的保护下进行的。如果一个条件
Z_man
·
2020-06-22 09:31
Posix多线程
多线程
编程
thread
signal
null
struct
Windows驱动
中的设备对象
设备对象,顾名思义,就是把一个设备抽象成一个对象来管理。它代表一个被驱动管理的设备,但这个设备,不一定是实际存在的。在WDM驱动中,一般我们在AddDevice函数中来创建它。指向AddDevice的函数指针是驱动对象的一个域。下面我们给出它书本中的数据结构说明。当然,我们也可以使用windbg的dt命令查看设备对象的数据结构。结构中的数据成员,基本看名字就知道含义,这里只介绍其中的几个。Flag
Z18_28_19
·
2020-06-22 09:37
浅谈WDM和WDF驱动
TCP/IP 动手实践2-
windows驱动
编程入门2
TCP/IP动手实践2-
windows驱动
编程入门2本文相关代码下载地址为http://download.csdn.net/source/2670262用户程序与驱动进行异步的数据读写。
WyclChenyi
·
2020-06-22 08:51
《
Windows驱动
开发技术详解》学习笔记
Abstract 如果推荐
Windows驱动
开发的入门书,我强烈推荐《
Windows驱动
开发技术详解》。
Sagittarius_Warrior
·
2020-06-22 04:30
Windows驱动开发
windows驱动
开发学习笔记一双向链表LIST_ENTRY
LIST_ENTRY定义如下:typedefstruct_LIST_ENTRY{struct_LIST_ENTRY*Flink;//指向下一个节点struct_LIST_ENTRY*Blink;//指向前一个节点}LIST_ENTRY,*PLIST_ENTRY;由LIST_ENTRY的定义可以知道这是一个双向链表结构,通常情况下我们是将这个结构嵌入自己设计的数据结构中,以使其变成一个双向链表节点结
Gumo_x
·
2020-06-21 21:39
自用
学习心得
Windows核心
编程学习笔记
字符串处理strcpy和wcscpy不安全,是因为无法判断缓冲区最大长度的参数,不知道是否会破坏内存一个进程—》一个内核对象+一个地址空间每个对象只是一个内存块文件地址包括字节偏移量。实际地址=段首地址+字节偏移量,原因是因为,地址占的内存大小太大,而一段的大小无法满足要求,所以需要在通用寄存器中开辟一段内存,用于存放剩余的字节地址,所以其为偏移量。内核对象的数据结构只能由操作系统来访问。内核对象
Giser_D
·
2020-06-21 21:15
Windows
Windows驱动
开发入门系列教程
前几天,一个朋友问到我怎么学习
Windows驱动
开发,我就想到把我学习
Windows驱动
开发的过程分享一下,也算我的一点总结。
CaperingRabbit
·
2020-06-21 18:05
Windows驱动开发
Linux C IO
编程学习笔记
(第一天:标准IO)
首先说一下输入输出的概念,所谓的输入输出就是相对于程序而言的,凡是讲数据输送到程序中的过程就是输入,相反就是输出然后,在linux中的IO分为两种,一种是文件io:是由内核提供的,比较简洁,低级IO,没有缓存,另一种是标准IO:是由标准C库提供,功能复杂高级IO,有缓存那么缓存可分为以下几种:1.行缓冲:系统不多见,多用于跟用户交互,当一行满的时候刷新缓冲,一行以\n结束2.满缓冲:当满的时候才刷
createchance
·
2020-06-21 17:13
Linux学习历程
PCI设备
WINDOWS驱动
程序的开发
PCI设备
WINDOWS驱动
程序的开发摘要:本文主要介绍了在Windows9x操作系统下开发PCI设备驱动程序的方法。
Augusdi
·
2020-06-21 17:24
PCI
windows
ddk
存储
开发工具
borland
工作
Windows驱动
之SetupDi系列函数
文章目录SetupDi系列函数进行设备信息的管理1.SetupDiGetClassDevs1.1枚举设备信息1.2参数说明1.3返回值1.4原理2.SetupDiEnumDeviceInfo2.1枚举成员2.2参数说明2.3返回值2.4原理3.SetupDiEnumDeviceInterfaces3.1枚举接口3.2获取接口数据4.SetupDiGetDeviceRegistryProperty4
xdesk
·
2020-06-21 14:29
Windows驱动开发
WPP预处理器和跟踪消息标头tmh文件
将WPP软件跟踪添加到
Windows驱动
程序必须对每个跟踪提供程序(如驱动程序或用户模式应用)进行唯一定义。为此,可以添加WPP_控件_guid宏,用于定义控件GUID、标识符和跟踪标志。
苞米地里捉小鸡
·
2020-06-21 12:50
windows内核编程
并发
编程学习笔记
(十五、AQS同步器源码解析4,AQS条件锁Condition实现原理)
目录:概述同步队列、条件队列Condition源码解析概述首先我们知道Condition的await()、signa()是内置锁synchronize配套的wait()及notify()的增强,可以更加细化的控制锁的唤醒条件。那么我们这里来类比下它们之间的机制:同步:内置锁的wait()必须要在synchronize代码块中才能调用,也就是必须要获取到监视器锁之后才能执行;await()与之类似,
被猪附身的人
·
2020-06-21 10:00
C#高级
编程学习笔记
(一)
在公司前辈的指导下,决定再次去巩固C#语法,经过挑选,选择了《C#高级编程》这本书。这本书在对原理性的东西讲解的时候比较透彻,讲的也很深入,对于很多上学时期比较模糊的概念都给出了解答。所以做了很多笔记,贴在这里方便以后进行查阅。1.引用类型和值类型的区别?在C#中值类型的变量直接存储数据,而引用类型的变量持有的是数据的引用,数据存储在数据堆中。值类型(valuetype):byte,short,i
顽皮细雨
·
2020-06-21 05:43
学习笔记
Mac WinToGO
win10镜像DiskGenius硬盘分区
windows驱动
安装步骤1、解压win10镜像;2、制作wintogo移动硬盘;(在win10系统上完成)选择解压镜像文件中的sources文件夹的install.wim
代码匠
·
2020-06-21 04:25
MAC
Opengl
编程学习笔记
(五)——从FRAGMENT到PIXEL(framebuffer 帧缓存)
1.帧缓存包括颜色、scissor、alpha、stencil、depth这些缓存,所以帧缓存不是一片缓存,而是所有这些缓存的组合,帧缓存它对应了屏幕上的每一个pixel(不是真正的pixel,而是一个fragment所对应的位置)的各种这些信息(颜色、ZBUFFER、等等),几何体的fragment时没有帧缓存的,帧缓存时屏幕上的,一个缓存的一位就对应一个位片面。Colorbuffer是最终表现
leonwei
·
2020-06-21 02:21
openGl
并发
编程学习笔记
(十四、AQS同步器源码解析3,Lock & Condition & AQS)
目录:Lock&Condition&AQS使用示例Lock&Condition&AQS结构简述Lock与Condition的API解析Lock&Condition&AQS使用示例在说Lock和Condition之前我们先来看一下这两个的用法,从用法到源码,一步一步来。1publicclassConditionDemo{23/**4*创建独占锁5*/6privateReentrantLocklock
被猪附身的人
·
2020-06-18 22:00
并发
编程学习笔记
(十三、AQS同步器源码解析2,AQS共享锁)
目录:共享锁和独占锁的区别共享锁实现原理共享锁和独占锁在源码上有何区别共享锁和独占锁的区别共享锁和独占锁(排它锁)最大的区别就是,在同一时刻能否有多个线程获取同步状态。独占模式,获取资源后,只有一个线程获取同步状态并执行。共享模式,在获取资源后,多个线程共同执行。共享锁实现原理1、加锁:共享锁和排它锁的实现原理类似,我这次就不具体说明了,直接上源码。1/**2*共享模式,获取资源3*/4publi
被猪附身的人
·
2020-06-16 22:00
并发
编程学习笔记
(十二、AQS同步器源码解析1,AQS独占锁)
目录:学习目的AbstractOwnableSynchronizer源码解析AQS为什么如此重要重要性说明AQS内部类Node源码解析AQS实例属性源码解析AQS独占锁加锁AQS独占锁解锁总结知识点总结其它收获学习目的上一节学习到的ThreadPoolExecutor在并发编程中更为适用,故知己知彼方能百战不殆,这次的学习目的只要有如下几个:1、了解源码,能更加灵活使用线程池2、看看大神是如何设计
被猪附身的人
·
2020-06-14 18:00
并发
编程学习笔记
(十一、线程池)
目录:ThreadPoolExecutorForkJoinPool两者的比较ThreadPoolExecutor1、无返回值demo1publicclassThreadTest{23publicstaticvoidmain(String[]args){4//核心线程池的大小5intcorePoolSize=2;6//核心线程池的最大线程数7intmaxPoolSize=4;8//线程最大空闲时间9
被猪附身的人
·
2020-06-10 22:00
Java多线程基础与并发
编程学习笔记
目录
最近在学习两个并发教程,过完第一遍,感触颇多.最大的感触就是:学习还是要系统,针对性地练,才好掌握.这里列个目录,后续陆续记录每个知识点,包括理论依据和代码案例,以加深和巩固记忆.所学课程链接:https://www.imooc.com/t/2854586第〇部分:Unsafe类搬运openjdk8的sun.misc.Unsafe.java源码Unsafe类功能之(1):内存分配-allocate
niewj
·
2020-05-27 23:48
并发编程
java
Linux与Windows之间的区别
从驱动程序来看,
Windows驱动
程序
soldi
·
2020-05-26 18:49
linux
Windows
Linux
Python高级
编程学习笔记
Python高级
编程学习笔记
课程:Python3高级核心技术索引:Python高级编程-collections的使用第一章:Python高级编程-Python一切皆对象第二章:Python高级编程-魔法函数第三章
coderchen01
·
2020-05-06 23:00
Python
编程学习笔记
(17)
编程作业步步入深了,由单一的变量/简单数据类型,到列表的排序、添加、删除(包括弹出和永久删除)、切片,进一步增加if--elif--else结构,再增加了字典的访问、遍历以及字典中列表、甚至字典的存储,到更大的代码块——函数,现在开始类的学习。后面的内容里都包含着前面各章的特定内容,循序渐进。最近除了效率低,还犯了一个颠倒性的认识错误。对于编程的初学者,动手比只看书弄懂一个结构或者记住操作口令代号
蜗牛0718
·
2020-04-12 02:50
awk
编程学习笔记
基础篇
awk
编程学习笔记
基础篇awk编程的基本框架为:BEGIN{}#循环前部命令{}#循环中,对于每行进行一次循环,包括模式和过程两个部分,如果匹配一次模式,则进行一次循环END{}#主循环结束后的命令BEGIN
守护者20091776
·
2020-04-08 09:55
Python
编程学习笔记
(24)
编程环境https://www.tutorialspoint.com/online_python_ide.php9.4.4导入整个模块导入整个模块,再使用句点表示法访问需要的类。这种导入方法很简单,代码也易于阅读。由于创建类实例的代码都包含模块名,因此不会与当前文件使用的任何名称发生冲突。(下载了pycharm,不会用,只好又转回到原来的页面。这英语学的也是醉了,到这里有些不灵。从汉语到英语,立马
蜗牛0718
·
2020-04-06 11:23
java
编程学习笔记
详细!
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。给你java学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-spri
Java小辰
·
2020-04-05 16:12
Python
编程学习笔记
(18)
今天的作业(原图略)很顺利。新改版的操作页面看着就舒服,忍不住想多做几篇。在第七、八、九行,故意没有统一敲空格,发现变量部分对输出没有影响。一遍通过后,发现第二行又连一块儿了,就按照课代表小田教的办法,引号后增加了一个空格,就和原作业一样了。慢慢体会到,所有的作业执行完不论对错,复制存档是个好办法。这样纠正的时候可以免去再重复输入直奔目标,有新想法时也可以马上着手实验。本节思考题:self?__i
蜗牛0718
·
2020-04-04 07:16
Python GUI
编程学习笔记
之tkinter中messagebox、filedialog控件用法详解
本文实例讲述了PythonGUI
编程学习笔记
之tkinter中messagebox、filedialog控件用法。
随风行云
·
2020-03-30 11:19
Python GUI
编程学习笔记
之tkinter事件绑定操作详解
本文实例讲述了PythonGUI
编程学习笔记
之tkinter事件绑定操作。
随风行云
·
2020-03-30 11:40
Python GUI
编程学习笔记
之tkinter控件的介绍及基本使用方法详解
本文实例讲述了PythonGUI
编程学习笔记
之tkinter控件的介绍及基本使用方法。
随风行云
·
2020-03-30 11:42
Python GUI
编程学习笔记
之tkinter界面布局显示详解
本文实例讲述了PythonGUI
编程学习笔记
之tkinter界面布局显示。
随风行云
·
2020-03-30 11:36
JDBC
编程学习笔记
之数据库连接池的实现
在JDBC编程的时候,获取到一个数据库连接资源是很宝贵的,倘若数据库访问量超大,而数据库连接资源又没能得到及时的释放,就会导致系统的崩溃甚至宕机。造成的损失将会是巨大的。再看有了数据库连接池的JDBC,就会较好的解决资源的创建与连接问题,其主要还是针对于连接资源使用层面的改进。下面我就谈一谈我对数据库连接池的理解。数据库连接池理论基础对于创建一个数据库连接池,需要做好准备工作。原理就是先实现Dat
尽情的嘲笑我吧
·
2020-03-25 21:47
Linux-LCD应用层
编程学习笔记
LCD应用层编程LCD驱动-->设备节点文件-->fb0设备节点文件等同于显存空间!如果想要在屏幕上显示图像,只需要往显存中写入数据即可!LCD应用程序就是往显存中写入数据的操作!!!LCD应用程序编程步骤:1)打开LCD驱动对应的设备节点文件(显存)2)把内核中的显存空间映射到进程空间中3)往映射空间中写入数据4)关闭显存mmap();头文件:#include函数原型:voidmmap(void
qq59a65ffb52e85
·
2020-03-24 16:18
Linux
Boolan微专业-面向对象高级
编程学习笔记
(Week01)
C++简介书籍推荐语言:C++Primer(C++第一个编译器者著),TheC++ProgrammingLanguage(C++之父著)标准库:TheC++StandardLibrary,STL源码剖析提升:EffectiveC++ObjectBasedvs.ObjectOrientedObjectBased:面对的是单一class的设计ObjectOriented:面对的是多重classes的设
GoMomi
·
2020-03-24 01:11
linux网络
编程学习笔记
-select编程
网络上常见的一张TCP状态转换图,实线是主动端,虚线是被动端关于select用法#include/*Accordingtoearlierstandards*/#include#include#includeintselect(intnfds,fd_set*readfds,fd_set*writefds,fd_set*exceptfds,structtimeval*timeout);nfds:监控的
心如镜止于水
·
2020-03-21 11:08
网络编程
Boolan微专业-面向对象高级
编程学习笔记
-下(Week04 + Week05)
C++面向对象高级编程目标培养正规大气的变成素养上,继续探讨更多技术。泛型变成和面向对象编程this指针,vptr虚指针,vtbl虚表,vitualmechanism虚机制,virtualfunctions虚函数,Polymorphism多态一、模板1.转换函数ConversionFunction(转换函数)operatordouble()const{return(double)(m_numera
GoMomi
·
2020-03-20 09:08
2016总结-2017展望
个人简介常用网名:灯火阑珊目前岗位:游戏安全开发语言:C/C++、C#开发工具:VisualStudio研究领域:Windows应用软件开发/
Windows驱动
开发/手游安全2016年总结时间总的过的很快
Geons
·
2020-03-18 15:34
Java并发
编程学习笔记
线程池策略当线程数量未达到核心线程数量,直接启动一个核心线程来执行任务。如果线程数量已达到或者超过核心线程的数量,任务被插入到任务队列中排队执行。如果在步骤2中无法将任务插入到任务队列中,这往往是由于任务队列已满,这时候如果线程数量未达到线程池规定的最大值,会立刻启动一个非核心线程来执行任务。如果步骤3中线程数量达到最大值,就拒绝执行此任务。模式并发编程中经常使用消费者和生产者模式,通过一个容器来
partoftom
·
2020-03-17 10:40
pwnable
2017/01/17/pwnable刷题日记/#bofhttp://blog.csdn.net/u012763794/article/details/51992512需要知道read()函数的用法Linux
编程学习笔记
23R3F
·
2020-03-11 20:01
网络
编程学习笔记
---Linux+C语言(未完待续)
第一章TCP/IP简介基本的C/S服务模型网络编程是指编写的网络通信程序可以与网络上的其他程序进行通信。TCP/IP四层结构网络接口层网际层负责相邻互联网上的不同主机之间的通信,主要包括IPv4、ICMP、RIP、IGMP传输层负责主机中两个进程之间的通信,主要包括TCP、UDP应用层直接为用户的应用进程提供服务套接字编程就是应用层到传输层的接口(API)TCP协议介绍TCP(传输控制协议)是TC
Waldo_cuit
·
2020-03-06 07:20
《Python核心编程》第13章面向对象
编程学习笔记
13.1类类声明与函数声明很相似,头一行用一个相应的关键字,接下来是一个作为它的定义的代码体,如下所示:deffunctionName(args):'functiondocumentationstring'#函数文档字符串function_suite#函数体classClassName(object):'classdocumentationstring'#类文档字符串class_suite#类体二
AdH
·
2020-03-05 05:16
JAVA多线程
编程学习笔记
(一)-线程创建和启动
新手学习安卓后,发现还是需要补习JAVA相关内容,尤其是多线程编程,以下资料整理自《疯狂Java讲义(第三版)》1线程的创建和启动(三种方式)1.1继承Thread类创建线程类publicclassMyThread1extendsThread{//整形变量i为继承Thread的MyThread类的实例变量,因为程序每次创建线程对象时//都会创建一个MyThread对象,所以多个MyThread对象
nikailancer
·
2020-03-04 23:39
函数式
编程学习笔记
源起在过去的近十年时间里,面向对象编程大行其道。许多企业级的应用都是基于面向过程和面向对象两种编程模型实现。日前,接触了Python语言,学习了Python语言中的函数式编程,让我对编程模式有了全新的认识,故写下此文,与大家一起学习探讨。什么是函数式编程在维基百科中,已经对函数式编程有了详细的介绍。Incomputerscience,functionalprogrammingisaprogramm
董家二少
·
2020-03-04 06:58
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他