自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (3)
  • 收藏
  • 关注

原创 第三章 系统运作机制

对于运行在 IRQL 等于或者大于dpc dispatch  leve 的code 有两个规则必须遵守:1) 不能等待任何一个object。 因为这个操作会触发系统的scheduler去选择另外一个thread执行,但是系统的scheduler也是在dpc dispatch le

2011-07-26 15:41:40 649

原创 第二章 系统架构

1) Widnows的环境子系统一共有三个: os/2,POSIX,和widnows。 其中windows子系统是最常用的。 csrss.exe就是windows子系统运行在的user mode的进程,win32k.sys是运行在Kernel mode的部分。 2) csrss是

2011-07-19 15:17:52 502

原创 XP embedded 如何从零开始?

  一个基本的原则: 一切起始于 windows PE 和 tap.exe. windows PE 是windows 预安装环境,就是一个不用安装就可以运行起来的windows 操作系统,一般从光盘启动,但是也可以通过ultraISO做成U盘启动。 网上有很多winPE 的ISO镜像文件可以下载,基本上都是个人基于微软标准的winPE二次开发定制的,定制winPE的工具是微软的AI

2011-06-20 14:02:00 1324

原创 如何在map文件中生成行信息?

<br /> <br /> <br />在 VC 中,我们可以按下 Alt+F7 ,打开“Project Settings”选项页,选择 C/C++ 选项卡,并在最下面的 Project Options 里面输入:/Zd ,然后要选择 Link 选项卡,在最下面的 Project Options 里面输入: /mapinfo:lines 和 /map:PROJECT_NAME.map 。最后按下 F7 来编译生成 EXE 可执行文件和 MAP 文件。 <br /> <br /> <br />/Zd     

2011-05-16 17:43:00 654

原创 如何在map文件中生成行信息?

<br /> <br /> <br />在 VC 中,我们可以按下 Alt+F7 ,打开“Project Settings”选项页,选择 C/C++ 选项卡,并在最下面的 Project Options 里面输入:/Zd ,然后要选择 Link 选项卡,在最下面的 Project Options 里面输入: /mapinfo:lines 和 /map:PROJECT_NAME.map 。最后按下 F7 来编译生成 EXE 可执行文件和 MAP 文件。 <br /> <br /> <br />/Zd     

2011-05-16 17:43:00 790

原创 pdb文件与dll/exe文件的关联。

基本知识:在build  dll/exe文件和pdb文件的时候,会有一个GUID被写入dll/exe文件和pdb文件中去,调试器根据这个GUID来判断二者是否匹配。每次重新build的时候,GUID都会不同,即使源代码没有变化。对于一个dll或者exe文件,调试器是如何寻找对应的pdb文件的呢? 他并不是寻找具有相同文件名的pdb文件,而是在PE头里面寻找。每一个dll/exe文件都有一个PE头,其中有一项是规定了pdb文件的名称的。最简单的方法是用一个二进制编辑器打开dll/exe文件,搜索pdb即可。当

2011-05-12 12:03:00 5126

原创 windows 平台如何实现snmp agent?

<br /> <br />snmp agent 就是snmp的 service,也就是被管理的那台设备上要跑的一个服务。<br /> <br /> <br />当需要自己的某台设备上,可能是windows 主机,也可以能是嵌入式设备(wince),需要实现一些自定义的mib库的时候。可以有两种方法:<br /> <br />1) windows本身就自带snmp agent,而且提供了扩展接口(agent extension)。我们自己只需要按照它规定的接口实现一个dll就可以了。但是到目前为止只支持nat

2011-04-25 19:52:00 2348

原创 c#如何操作excel ?

<br /> <br />根据我目前的了解,基本上有两种方法:<br /><br /><br />1) 自己按照excel文件的格式写文件。这种方法需要知道excel文件的存储格式,比较麻烦。但是其中最简单的是csv文件,也就是逗号分隔的文件,缺点是只能是纯文本文件。<br /><br /><br />2) 第二种方法是使用互操作类,Microsoft.Office.Interop.Excel,这个不是。net自带的,需要安装vsto,也就是vistual studio tools for office。

2011-04-22 12:17:00 1515

原创 how to get callstack at runtime?

<br />相关的api :  getthreadcallstack<br /> <br />如何把函数地址传换成函数名: 参考:C:/WINCE600/PRIVATE/WINCEOS/COREOS/SHELL/mapfile.c<br /><br />

2011-04-15 17:59:00 586

原创 程序员的晚餐

下午6:19分,已经过了下班时间,程序员木子还在专心致志的盯着电脑屏幕。 “吃饭了”,从背后传来了托托的喊声。“嗯“,木子只是答应了一声,并没有回头,显然他的思绪还沉浸在对code的分析之中,不能完全对托托做出响应。“走吧,吃完饭在解bug,一样的“,托托在身后拍了拍木子的肩膀,顺便扫了一眼满屏的c#代码。“好的“,木子终于转身,看了一下托托,说,“就你一个人啊,他们呢“。“我

2010-01-02 03:13:00 1065

转载 Event ID 1041 source userenv

 Question:Hello Can anyone make sense of this error.  I searched Ms support site and didnt find anything that pertained to this ID number. Here is the full error The description for Event ID (

2007-07-01 21:37:00 2845

原创 WinCE 5.0 内核启动过程

本文简单描述一下wince5.0内核的启动流程,以mips cpu为例。msdn有一篇文章叫做Microsoft Windows CE 5.0 Board support Package,Boot Loader,and Kernel Startup Sequence非常不错,可以参考。1. startup.首先,内核最先执行的代码位于oal当中,叫做startup,这段代码由微软留给开发者定制

2007-06-29 12:57:00 5240 1

转载 How to get a handle to a device driver returned by device manager?

Q:Hi, all.I have a question that is if a driver was loaded by calling ActivateDevice() in device manager, and then I want to unload it in my app by calling DeActivateDevice(), how to get the

2005-09-22 11:08:00 1551

learning c# O_Rilly press

经典c#,clr教程,不可错过。 O_Rilly press

2011-05-17

programming C#

Official c# programm book. Very good.

2011-05-15

C# internel

very good reference book of C# programming

2011-05-12

空空如也

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

TA关注的人

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