- 博客(30)
- 资源 (7)
- 收藏
- 关注
翻译 Handling Memory Segments(1)-Using Memory Segments to Describe the GPU Address Space
Before the video memory manager can manage the address space of the GPU, the display miniport driver must describe the GPU's address space to the video memory manager by using memory segments. The dis
2016-01-19 14:06:13 491
原创 windbg 驱动调试环境(virtualbox, vmware)
windows 7bcdedit /copy {current} /D DebugEntry (administrator)msconfig,启用DebugEntry调试WinDbg桌面创建快捷方式,属性,目标"C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\windbg.exe"
2016-01-15 10:32:42 740
翻译 _WIN32_WINNT
https://msdn.microsoft.com/en-us/library/6sehtctf.aspx//// _WIN32_WINNT version constants//#define _WIN32_WINNT_NT4 0x0400 // Windows NT 4.0#define _WIN32_WINNT_WIN2K
2016-01-14 15:29:45 921
翻译 AGP Aperture size
http://www.techpowerup.com/articles/overclocking/vidcard/43显存不够用的时候,拿内存当显存。AGP Aperture size就是取多少内存How big should I set AGP Aperture size in my BIOS?First of all, AGP Aperture memory will
2016-01-14 14:59:55 1681
翻译 Reporting Graphics Memory-Calculating Graphics Memory
https://msdn.microsoft.com/en-us/library/windows/hardware/ff538322(v=vs.85).aspxThe video memory manager must calculate the total amount of graphics memory before it can report an accurate acc
2016-01-14 14:51:56 739
翻译 Windows And Video Memory
http://blogs.msdn.com/b/tmulcahy/archive/2009/02/11/windows-and-video-memory.aspxThe following explanations are overviews. In the interests of brevity, they neglect some corner cases.Definit
2016-01-14 14:19:26 547
原创 C基本数据类型转换
char c; short s; int i; unsigned int u; long int l; unsigned long int ul; float f; double d; long double ld; i = i + c; /* char -> int */ i = i + s; /* short -> int */ u = u + i; /* int
2016-01-13 21:11:04 645
原创 c++ 只在栈上创建对象
namespace t16 { class Stack { public: Stack() { } ~Stack() { } private: /* 重载了operator new,编译器发现类重载了operator new, 则调用类的operator new */ void *operator new(std::size_t size) {
2016-01-12 22:55:36 680
原创 c++ 只在堆上创建对象
namespace t15 { class Heap { public: // 用户可以调用new创建对象 Heap() { p = malloc(100); } void destroy() { delete this; } private: // 用户无法调用delete删除对象 ~Heap() { free(p);
2016-01-12 21:44:48 674
原创 vim 删除包含指定字符的行
删除包含特定字符的行,匹配删除:% g/abc/d删除不包含特定字符的行,% v/abc/d% g!/abc/d
2016-01-12 17:23:14 11707
转载 windows 驱动验证数字证书
Kernel mode display-only miniport driver (KMDOD) sampleInstallationIn Microsoft Visual Studio, press F5 to build the sample and then deploy it to a target machine. For more info, see Deplo
2016-01-12 16:12:22 1598
原创 windbg Conditional breakpoints 条件断点
0:000> bp Address ".if (Condition) {OptionalCommands} .else {gc}"https://msdn.microsoft.com/en-us/library/windows/hardware/ff556853(v=vs.85).aspx
2016-01-12 14:24:53 449
原创 windbg memory breakpoint 内存断点
ba (Break on Access)kd> ba i4 3f8Kernel-Modeba[ID] Access Size [Options] [Address [Passes]] ["CommandString"]AccessSpecifies the type of access that
2016-01-12 14:23:10 1547
原创 cl查看类的内存布局
class Test{private: int ival;public: Test(); ~Test(); int GetVal() { return ival; }; virtual int SetVal(int val) { ival=val; };};单个类 (区分大小写 /d1reportSingleClassLayoutcl test.cpp
2016-01-12 11:27:01 849
原创 C++复制构造函数浅析(1)
class B2 {public: B2(string v) : id (v) { cout << "B2::B2() " << id << endl; } ~B2() { cout << "B2::~B2() " << id << endl; } B2(const B2 &b2) : id (b2.id) { id += "Copy Construct
2016-01-11 23:02:47 382
翻译 KMDF Version History
https://msdn.microsoft.com/en-us/library/windows/hardware/ff544309(v=vs.85).aspxKMDF versionRelease methodIncluded in this version of WindowsDrivers using it run on †
2016-01-11 14:03:07 802
翻译 UMDF Versions and Operating Systems
https://msdn.microsoft.com/en-us/library/windows/hardware/ff561356(v=vs.85).aspxUMDF versionRelease methodIncluded in this version of WindowsDrivers using it can run on †
2016-01-11 14:02:33 641
原创 new delete与malloc free之内存管理(1)
class Malloc {public: Malloc(): p(NULL) { p = malloc(100); } ~Malloc() { free(p); } void *p;};void Malloc_test(){ Malloc *m = new Malloc(); // 调用构造函数Malloc::Malloc(); free(m); // 错误:
2016-01-10 13:22:34 514
原创 *p++, ++*p, (*p)++, *++p
void test3(){ int a[2] = {0}; int *p; p = &a[0]; /* 测试项目: *p++ 运算结果:1 2 指针运动:p移动,指向a[1] */#if 0 //等同于*(p++) = 1; *p++ = 1; // a[0] = 1; p = &a[1]; *p = 2; // a[1] = 2;#endif
2016-01-09 21:42:07 1474
转载 windbg DIG_DISASM
$$$$ =============================================================================$$ Show all occurrences of a specific assembly command that appears inside a function$$ body.$$ Also shows all 'ca
2016-01-08 13:35:06 407
翻译 Enumerating Child Devices of a Display Adapter
The following sequence of steps describes how the display port driver, display miniport driver, and video present network (VidPN) manager collaborate at initialization time to enumerate child devices
2016-01-07 15:18:41 914
原创 C++ 覆盖和隐藏
class People {public: // 隐藏:是指派生类的函数屏蔽基类函数 // 隐藏规则1: // 1) 函数名相同 && 参数不同 // 2) virtual不影响 void getId_different_params() {cout << "People::getId_different_params" << endl;} virtual void getName_
2016-01-06 22:29:29 671
转载 pragma code_seg
I have a couple of question about this subject:-1) From MSDN, it says this is used to force routines into certain code segments. But I am not clear as to what this means? How did our fucntion ro
2016-01-06 21:47:06 733
转载 _KernHelp_ wdk
/* Copyright (c) 1998-2000 Microsoft Corporation. All rights reserved.*/#ifndef _KernHelp_#define _KernHelp_// Use kernel mutex to implement critical section//typedef KMUTEX CRITICAL_SECT
2016-01-06 21:28:43 809
原创 Debug宏
#include #include #define DEBUG(args) printf argsvoid Dbg(int level, const char *message, ...){ va_list l; if (level < 2) { return; } va_start(l, message); vp
2016-01-06 13:39:29 467
原创 wdk inx生成inf
三个文件a.inxsourcemakefile.inc1)makefile.inc.SUFFIXES: .inxSTAMP=stampinf# $(OBJ_PATH)\$(O)\$(INF_NAME).inf: $(_INX)\$(INF_NAME).inx.inx{$(OBJ_PATH)\$(O)}.inf: copy $(@B).inx $@
2016-01-06 12:39:18 2148
原创 C++ 释放基类分配的内存(1)
#define _CRTDBG_MAP_ALLOC #include #include #include using namespace std;#ifdef _DEBUG#define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)#define new DEBUG_NEW#endifclass parent {p
2016-01-04 21:41:57 399
原创 基类与派生类的析构函数(1)
#define _CRTDBG_MAP_ALLOC #include #include #include using namespace std;#ifdef _DEBUG#define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)#define new DEBUG_NEW#endifclass parent {p
2016-01-03 21:12:31 449
android-training-course-in-chinese v0.9.2 本地HTML
2015-10-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人