自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大坡3D软件开发

自主操作系统和CPU--用软件和芯片来改变世界

  • 博客(25)
  • 资源 (33)
  • 论坛 (34)
  • 收藏
  • 关注

原创 reactos操作系统实现(172)

NtUserTranslateMessage函数实现键盘的消息转换,实现代码如下:#001  BOOL APIENTRY#002  NtUserTranslateMessage(LPMSG lpMsg,#003                         HKL dwhkl)#004  {#005     NTSTATUS Status;#006     MSG S

2009-12-29 22:28:00 1396

原创 reactos操作系统实现(171)

TranslateMessage函数用来把虚拟键消息转换为字符消息,其实现的代码如下:#001  BOOL WINAPI#002  TranslateMessage(CONST MSG *lpMsg)#003  { 在这个函数里只是简单地调用函数TranslateMessageEx。#004    return(TranslateMessageEx((LPMSG)lpM

2009-12-28 23:07:00 1510

原创 reactos操作系统实现(170)

co_IntPeekMessage主要实现内核里获取窗口消息,具体实现代码如下:#001  BOOL FASTCALL#002  co_IntPeekMessage(PUSER_MESSAGE Msg,#003                    HWND hWnd,#004                    UINTMsgFilterMin,#005      

2009-12-27 11:29:00 1576

原创 reactos操作系统实现(169)

当用USER32.DLL里调用获取消息之后,就调用到WIN32K.SYS里处理的函数NtUserGetMessage,这个函数实现的代码如下:#001  BOOL APIENTRY#002  NtUserGetMessage(PNTUSERGETMESSAGEINFOUnsafeInfo,#003                   HWND hWnd,#004      

2009-12-25 23:36:00 1708 1

原创 reactos操作系统实现(168)

当应用程序更新窗口后,就需要不断地接收系统发过来的消息,然后处理消息,最后发送消息出去,这样就构成了应用程序的消息循环处理。不断地获取系统消息的函数是GetMessage函数,下面就是它的实现代码:#001  BOOL WINAPI#002  GetMessageW(LPMSG lpMsg,#003           HWND hWnd,#004           UINT

2009-12-24 22:33:00 1428

原创 reactos操作系统实现(167)

co_UserRedrawWindow函数是用来实现窗口重画的功能,实现代码如下:#001  BOOL FASTCALL#002  co_UserRedrawWindow(PWINDOW_OBJECT Window,const RECT* UpdateRect, HRGN UpdateRgn,#003                      ULONG Flags)#00

2009-12-23 23:21:00 1601

原创 reactos操作系统实现(166)

NtUserRedrawWindow函数主要用来重画窗口显示。具体代码如下:#001  BOOL APIENTRY#002  NtUserRedrawWindow(HWND hWnd, CONST RECT*lprcUpdate, HRGN hrgnUpdate,#003                     UINT flags)#004  {#005     RE

2009-12-22 21:53:00 1429

原创 reactos操作系统实现(165)

在应用程序里,当窗口显示出来之后,需要立即调用一个函数UpdateWindow来更新窗口,否则窗口里面的内容就不会更新,显示还是前面其它窗口显示的内容。现在就来分析这个函数又是怎么样实现的,代码如下:#001  BOOL#002  WINAPI#003  UpdateWindow(#004    HWND hWnd)#005  { 在这个函数里只是简单调用Redra

2009-12-21 21:40:00 1648 1

原创 reactos操作系统实现(164)

继续前面的分析,上次说到需要调用函数co_WinPosShowWindow来显示窗口,那么这个函数里怎么样实现窗口的显示呢?实现代码如下:#001  BOOLEAN FASTCALL#002  co_WinPosShowWindow(PWINDOW_OBJECT Window,INT Cmd)#003  {#004     BOOLEAN WasVisible;#005

2009-12-20 13:03:00 1675

原创 reactos操作系统实现(163)

在应用程序里,当创建窗口之后,就需要把窗口显示出来,那么就需要调用函数ShowWindow,具体这个函数是怎么实现的呢?现在就来分析它的实现代码,如下:#001  EXTINLINE BOOL WINAPI#002  ShowWindow(HWND hWnd, int nCmdShow)#003  {        这里直接就调WIN32K.SYS里的代码了。#004 

2009-12-19 21:07:00 1835

原创 reactos操作系统实现(162)

co_IntCreateWindowEx函数主要用创建一个显示的窗口,具体实现代码如下:#001  HWND APIENTRY#002  co_IntCreateWindowEx(DWORD dwExStyle,#003                       PUNICODE_STRINGClassName,#004                       PUN

2009-12-17 22:29:00 2059

原创 reactos操作系统实现(161)

NtUserCreateWindowEx函数主要用来创建一个窗口显示。在Win32k.sys里的代码如下:#001  HWND APIENTRY#002  NtUserCreateWindowEx(DWORD dwExStyle,#003                       PUNICODE_STRINGUnsafeClassName,#004           

2009-12-16 23:57:00 1733

原创 reactos操作系统实现(160)

CreateWindowExW函数主要用来根据已经注册窗口类来创建一个窗口。它在User32.dll实现代码如下:#001  HWND WINAPI#002  CreateWindowExW(DWORD dwExStyle,#003                  LPCWSTR lpClassName,#004                  LPCWSTR lpWind

2009-12-15 21:22:00 2019

原创 reactos操作系统实现(159)

NtUserRegisterClassEx函数是Win32k.sys里实现窗口类的注册,那么窗口类的注册是什么意思呢?到底注册是为了什么样的目的呢?下面就通过实现代码的分析来解决这些问题,代码如下:#001  RTL_ATOM APIENTRY#002  NtUserRegisterClassEx(IN CONST WNDCLASSEXW*lpwcx,#003         

2009-12-14 22:04:00 1648

原创 reactos操作系统实现(158)

在ReactOS的应用程序里,每个有窗口的应用程序都需要注册一个窗口类,然后根据窗口类来创建窗口。注册窗口的调用函数就是RegisterClassW,这个函数是UNICODE的版本,其实还有多节字版本,但代码是差不多的。这里主要分析UNICODE版本的实现,其代码如下:#001  ATOM WINAPI#002  RegisterClassW(CONST WNDCLASSW *lpWn

2009-12-13 11:05:00 1430

原创 reactos操作系统实现(157)

上面介绍了USER32的入口函数,在那里调用Init函数进行初始化,这里就来分析这个函数的代码,看看它怎么样进行初始化,如下:#001  BOOL#002  Init(VOID)#003  { 这里设置内核的回调函数。#004     /* Set up the kernel callbacks. */#005    NtCurrentPeb()->Kernel

2009-12-12 21:05:00 1528

原创 reactos操作系统实现(156)

在USER32.DLL里也不例外,它的入口函数也是DllMain,当每个应用程序启动时就会调用本函数进行实始化。具体实现代码如下:#001  INT WINAPI#002  DllMain(#003     INPVOID hInstanceDll,#004     INULONG dwReason,#005     INPVOID reserved)#00

2009-12-11 21:33:00 1281

原创 reactos操作系统实现(155)

从前面可以看到GDI32的初始化函数是调用GdiDllInitialize函数来初始化,下面就来分析这个初始化的具体实现,代码如下:#001  BOOL#002  WINAPI#003  GdiDllInitialize (#004      HANDLE hDll,#005      DWORD dwReason,#006      LPVOID lpReserved

2009-12-10 23:08:00 1375 1

原创 reactos操作系统实现(154)

前面介绍了DllMain的入口函数,但GDI32的初始化函数并不是在入口函数里进行的,那么它到底在那里初始化的呢?它的初始化流程又是怎么样的呢?下面就来解决这两个问题,通过代码来分析它的过程。通过仔细地分析代码的调用关系,可以看到GDI32的初始化是在USER32模板里进行的,先在USER32的DllMain函数里初始化,如下:#001  INT WINAPI#002  DllMa

2009-12-09 20:47:00 1837

原创 reactos操作系统实现(153)

现在开始仔细地分析GDI32.DLL的实现代码,看看这里的API函数是怎么样实现的,又做了些什么样的工作,然后才能深入地了解WIN32K.SYS所需要做的工作。在ReactOS操作系统里,所有DLL库都有一个默认的首先加载函数函数,名称叫做DllMain。这个函数是操作系统加载DLL时就调用,那么我们就从这个函数开始分析,这是DLL最先的入口点函数。它的实现代码如下:#001  BOOL

2009-12-08 22:01:00 1370

原创 reactos操作系统实现(152)

在GDI32.DLL动态连接库里,主要是包括图形调用和文本输出的API函数,这些函数都是一些中间函数,主要是封装了系统调用的代码,其实所有实现图形绘制和文本输出都是系统内核模块WIN32K.SYS实现的功能。所有应用程序要进行图形显示,或者文本显示时,就需要调用这个动态连接里的函数,连接时需要连接GDI32.LIB库。GDI32.DLL代码所在的目录如下:reactos/dll/win

2009-12-07 22:19:00 1190

原创 reactos操作系统实现(151)

图形模块包括用户模式gdi32和内核模式的win32k,gdi32的代码在目录reactos/dll/win32/gdi32里,win32k的代码在目录reactos/subsystems/win32/win32k里。所有客户端的应用程序都是调用gdi32库里的API函数,编译时也是连接这个库里的函数。由于gdi32的代码是在用户模式下的,那么它是怎么样去访问内核提供的功能呢?其实它在编译时,

2009-12-06 17:02:00 1344 2

原创 reactos操作系统实现(150)

 在图形界面下,显示文字是最基本的功能了。下面就来从用户调用API函数TextOut开始,直到在内核里显示文字。如下面流程图所示: 

2009-12-05 22:49:00 1374 1

原创 reactos操作系统实现(149)

IntVideoPortFindAdapter函数主要用来查找到相应显示卡,并且把显示卡驱动安装到对象管理器里,以便GUI界面调用时,可以找到相应驱动程序显示。具体实现代码如下:#001  NTSTATUS NTAPI#002  IntVideoPortFindAdapter(#003     IN PDRIVER_OBJECTDriverObject,#004     I

2009-12-02 23:11:00 1228

原创 reactos操作系统实现(148)

在小端口驱动程序里,主要调用视频驱动程序API来实现相关的功能,下面就来分析小端口驱动程序里调用的初始化函数VideoPortInitialize,它的实现代码在文件reactos/drivers/video/videoprt/videoprt.c里,如下:#001  ULONG NTAPI#002  VideoPortInitialize(#003     IN PVOID Co

2009-12-01 23:04:00 1686 2

STM32F407VET6工程模板

玩转STM32里文章配置的代码,这里学习的第一个工程代码,可以作为后继开发的模板工程。

2019-03-14

python抓取天气并分析 实例源码

Python代码抓取获取天气预报信息源码讲解。这是一个用Python编写抓取天气预报的代码示例,用python写天气查询软件程序很简单。这段代码可以获取当地的天气和、任意城市的天气预报,原理是根据url找到网站截取相应的数据展现。 python抓取广州天气并分析 实例源码

2017-08-28

C++读写json文件

https://github.com/nlohmann/json 最好用的C++读写json库

2017-12-09

python web py入门配套源代码

python web py入门- 实现论坛,开发技术:后端采用Python+web.py+MySQL,前端采用HTML+CSS+JavaScript+jQuery+RequireJS。

2018-02-23

实现numpy的C++库扩展

使用C++来扩展numpy里的数据计算,这时就需要使用numpy的扩展库功能了,下面就来提供一个使用C++编写numpy扩展库的模板,这样大家就要减少很多弯路,减少跌入坑里的成本。这个扩展库的模板是从mahotas库里抽取出来的,经过最大化的简化,这样更加容易理解,更方便学习。

2019-11-24

国产8051模拟器

一款国产的8051模拟器(全部源代码) 本软件是一款8051模拟器,他的特点是可以模拟多处理器平台,在简单的多工作区间的界面上可以很方便的模拟8051处理器, 最重要的是这个单片机系统可以完全由你自己订制,你甚至可以随意创建自己的多单片机系统,什么SMP 基于串行总线的分布式系统,集群式系统,只要你能想到的,都可以办到,充分发挥你的想象力。现在1.0版本已经基本体现出了这种思想,在以后的版本中将使这一特性变的 更加强大!

2016-09-10

svm_hog_data.rar

使用到LineSVC里进行机器学习的训练数据,用来训练手写识别。 配套专栏文章使用,https://blog.csdn.net/caimouse/article/details/104599920。

2020-03-02

俄罗斯方块游戏开发

俄罗斯方块游戏开发培训里的可执行文件,让大家可以查看相关的结果。以便是否参加培训。

2016-11-30

GOOGLE的TPU论文

GOOGLE公开TPU的论文

2017-04-06

wix3.11版本安装工具

wix3.11版本安装工具

2017-06-19

webpy演示例子1

webpy演示例子1, 用于配套文章相关资源。python web py入门(9)- 论坛首页的模板中模板 前面已经提到一个模板中可以套用另外一个模板,现在就来看看这个论坛基本布局模板是怎么样的?

2018-02-21

WIX制作C#应用程序安装包

WIX制作C#应用程序安装包

2016-05-26

WiX3.10版本安装工具

WiX3.10版本安装工具

2017-06-19

胶囊模型的代码

胶囊模型的代码在以下论文中使用: “Dynamic Routing between Capsules” by Sara Sabour, Nickolas Frosst, Geoffrey E. Hinton. 要求 TensorFlow ( 访问 http://www.tensorflow.org 了解如何安装和升级) NumPy (详见http://www.numpy.org/) GPU

2018-02-02

Milang 1.0.2

本项目主要开发、学习、讨论小语(milang)编程语言,它是以python语法为基础,然后改进它语法、增加直接生成机器码,混合C++的优点,增加基于寄存器的虚拟机实现。 代码下载和上传见: https://code.csdn.net/caimouse/milang

2014-06-02

selenium的浏览器驱动

目前有很多的银行网站,还是以IE为标准的浏览器,因此这里主要采用IE为测试的例子,在这里可以下载不同版本的浏览器驱动,可以是32位的,也可以是64位的,根据自己的需要下载不同的版本。在本文章里,下载的是2.35.3版本:IEDriverServer.exe,把它放在目录f:\temp\里面。

2016-06-14

milang 1.0.4

本项目主要开发 学习 讨论小语 milang 编程语言 它是以python语法为基础 然后改进它语法 增加直接生成机器码 混合C++的优点 增加基于寄存器的虚拟机实现

2014-07-13

duilib界面库20161116

更新为VC2015编译的duilib,持续重构代码,使用最新的C++14的语法。

2016-11-16

milang 1.0.3

本项目主要开发、学习、讨论小语(milang)编程语言,它是以python语法为基础,然后改进它语法、增加直接生成机器码,混合C++的优点,增加基于寄存器的虚拟机实现。

2014-06-07

mysql开发管理工具

mysql数据库的开发管理工具。

2016-07-12

pythoncn-3.4.3

1. 使用VS2012编译。 2. 修改在VC11.0的库下运行pythonw.exe出错误的BUG。

2015-05-04

duilib界面库

duilib界面库,长期维护的界面库,在WIN10和VS2012上编译和开发、测试通过。

2016-10-10

milang 1.0.5

本项目主要开发 学习 讨论小语 milang 编程语言 它是以python语法为基础 然后改进它语法 增加直接生成机器码 混合C++的优点 增加基于寄存器的虚拟机实现

2014-08-03

python-3.4.4

python 3.4的32位的windows版本

2016-07-01

手写识别的训练数据

MNIST训练数据

2017-03-10

duilib界面库20161017

duilib 界面库

2016-10-17

书《深度学习》

2015年,深度学习三大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton在最新的《Nature》杂志首次合作的发表综述文章《Deep Learning》。本文为该综述文章的中文译文,深入浅出地介绍了深度学习的基本原理,核心优势和未来展望。

2017-03-13

mysql-5.5.50-64

windows下的64位MYSQL的版本。

2016-07-10

protobuf 2.5

protobuf 2.5库代码和工具

2016-06-24

tinyxml2配套源码

在软件开发过程中,为了使软件有灵活的配置,特别像界面这样的配置,同时为了减轻重复开发的任务,需要把客户的个性化需求可以通过配置文件来修改,比如像界面的颜色配置,就可通过配置文件来修改,这时就可以采用XML文件来保存和修改这些参数配置。在不同软件之间进行通讯时,也可以采用XML协议来进行数据交换,特别像WEB服务的调用时,采用传送XML格式是基本的数据交换方式。基于这些任务的需求,需要软件开发人员会在C++里使用xml格式。

2016-06-27

protoc2.5执行文件

protoc执行文件

2016-06-24

深度强化学习论文

DQN的论文

2017-03-17

milang开发工具

组合了notepad和python 3.4的开发工具,可以集编辑和运行、结果查看为一体。

2014-05-24

caimouse的留言板

发表于 2020-01-02 最后回复 2020-05-14

开发大联盟,VC人员开放大聚会

发表于 2001-11-05 最后回复 2012-05-23

C++编译器源程序学习!!!!!!!!!!!!!!!!!1

发表于 2003-12-26 最后回复 2004-01-07

FastBT下载 1.0.3.66版 2003.12.25 放分 一小时结.

发表于 2003-12-26 最后回复 2003-12-26

发布最新版本FastBT 1.0.1.27 高兴放分

发表于 2003-11-21 最后回复 2003-12-10

有没有分析过传奇网络通迅?

发表于 2003-07-10 最后回复 2003-11-28

Visual Studio.net 2003 7cd 下载

发表于 2003-08-27 最后回复 2003-09-01

Visual Studio.net 2003 7cd 下载

发表于 2003-08-27 最后回复 2003-08-28

怎么样实现在资源管理器多一个盘号?

发表于 2003-07-24 最后回复 2003-07-31

深圳治安真差,我差点就被打死了!

发表于 2003-05-12 最后回复 2003-05-23

开放源码的P2P文件共享研究Gnucleus

发表于 2002-07-24 最后回复 2003-05-06

怎么样实现从播放器播放的声音录下来?

发表于 2003-03-11 最后回复 2003-03-19

QQ死机的BUG?不信你就试试了。

发表于 2003-02-20 最后回复 2003-02-26

大家把自己有的技能交流一下

发表于 2003-01-24 最后回复 2003-01-28

有不有程序员取这么好有GF啊?

发表于 2003-01-15 最后回复 2003-01-24

在C++BUILDER里怎么调试进入PASCAL?

发表于 2003-01-08 最后回复 2003-01-08

猜谜语送分

发表于 2003-01-07 最后回复 2003-01-07

操作系统源码分析网

发表于 2002-12-17 最后回复 2003-01-03

有人写过硬盘驱动程序吗?

发表于 2002-12-16 最后回复 2002-12-17

怎么样才能写出一个像TObject类CObject来?

发表于 2002-12-04 最后回复 2002-12-11

有空来我cbuilder论坛

发表于 2002-11-21 最后回复 2002-12-04

有空来我VC论坛

发表于 2002-11-25 最后回复 2002-11-26

开发DOS的操作系统,作为实时操作系统

发表于 2001-10-29 最后回复 2002-02-17

在局部网内用UDP通过代理服务器连接外面的人,怎么样用VC写通过代理呢?

发表于 2001-09-24 最后回复 2002-02-05

UDP 代理问题?

发表于 2002-01-24 最后回复 2002-01-24

怎么样设置像ICQ或OICQ这样服务器?

发表于 2001-12-29 最后回复 2001-12-29

我的钱哪去了?

发表于 2001-12-17 最后回复 2001-12-17

在VC中这个错误为什么出现的?

发表于 2001-11-30 最后回复 2001-12-13

谁能说出ICQ目录下各个DLL文件用处?给高分!!!!

发表于 2001-11-27 最后回复 2001-11-27

怎么样更新CLISTBOX

发表于 2001-11-14 最后回复 2001-11-14

谁有空就用C写个DOS操作系出来?XP可没有DOS啊

发表于 2001-10-26 最后回复 2001-11-13

为什么国内没有人写出像<<深入浅出MFC>>这样的好书

发表于 2001-11-08 最后回复 2001-11-08

用C++能写DOS操系统吗?

发表于 2001-10-31 最后回复 2001-10-31

我们能不能把NASM的使用手册译成中文吗

发表于 2001-10-30 最后回复 2001-10-30

空空如也

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

TA关注的人 TA的粉丝

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