- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 ddk/wdk/ 初试
最近尝试去了解WINDOWS下的驱动开发,现在总结一下最近看到的资料。 1.首先,先从基础的东西说起,开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发WINDOWS应用程序,我们需要WINDOWS的SDK,现在开发WINDOWS下的驱动程序,我们需要一个DDK/WDK。 2.DDK(Driver Developer Kit)和
2010-03-31 21:03:00 1342
原创 C++ 智能指针学习
首先来看SmartPtr的定义:#pragma once#include assert.h>///////////////////////////////////////////////////// a simple smart pointer wrapper class, use reference count////
2010-03-31 12:44:00 592
原创 c++ 中的类型转换
1、static_cast Operator MSDN: Theexpression static_cast ( expression ) convertsexpression to the type of type-id based solely on the types present inthe expression. No run-time type chec
2010-03-31 12:33:00 433
原创 虚析构函数、纯虚析构函数 理解
虚析构函数析构函数的工作方式是:最底层的派生类(mostderivedclass)的析构函数最先被调用,然后调用每一个基类的析构函数。因为在C++中,当一个派生类对象通过使用一个基类指针删除,而这个基类有一个非虚的析构函数,则结果是未定义的。运行时比较有代表性的后果是对象的派生部分不会被销毁。然而,基类部分很可能已被销毁,这就导致了一个古怪的“部分析构”对象,这是一个泄
2010-03-31 12:26:00 816
原创 Linux系统驱动编译与运行
一、手工加载测试 1、insmod ./key_test.ko 加载驱动模块到内核 2、cat /proc/modules |grep key_test 查看key_test模块在内核中的地址,不加过滤器可以看到全部加载的模块。 3、lsmod 显示模块,这时可以看到所有的模块名字,后面跟的是主设备号和次设备号。 4、rmmod key_test 把模块从内核里卸载。 二、动态
2010-03-30 19:42:00 612
原创 学习 DNAT 中
DNAT(Destination Network Address Translation,目的地址转换) 通常被叫做目的映谢。而SNAT(Source Network Address Translation,源地址转换)通常被叫做源映谢。这是我们在设置Linux网关或者防火墙时经常要用来的两种方式。以前对这两个都解释得不太清楚,现在我在这里解释一下。首先,我们要了解一下IP包的结构,如下图
2010-03-30 19:41:00 418
原创 学习 DNAT 中
DNAT(Destination Network Address Translation,目的地址转换) 通常被叫做目的映谢。而SNAT(Source Network Address Translation,源地址转换)通常被叫做源映谢。这是我们在设置Linux网关或者防火墙时经常要用来的两种方式。以前对这两个都解释得不太清楚,现在我在这里解释一下。首先,我们要了解一下IP包的结构,如下图
2010-03-30 19:33:00 459
转载 2010年文件存储趋势:非结构化数据当道
毫无疑问,2009年是IT界近年来最艰难的一年之一,它给科技厂商和IT终端用户的预算计划带来了深远的影响。虽然2010年预算压力不会继续增大,但是ESG的2010年IT开支意向调查[1]还是发现IT组织中普遍存在谨慎乐观的情绪:大多数组织已经从成本节约模式中走出,但是有可能继续控制成本而不是采用增长模式。这可能会导致用户继续寻找可以减少存储架构复杂性以节约营运成本的方式。ESG认为非结构化
2010-03-30 19:06:00 658
转载 reinterpret_cast本质
代码:#include iostream> using namespace std;void main() { int i = 875770417; couti" "; char* p = reinterpret_cast
2010-03-30 19:05:00 530
原创 ip查找
最近一个项目,需要根据给定的IP地址,查出它的线路类型(电信、网通、铁通……)抽象声明:class IpKind {public: virtual ~IpKind(void) {} virtual bool addItem(const unsigned ip, const unsigne
2010-03-30 19:01:00 453
原创 c++ 设计模式
一、功能 将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 二、结构图 (1)class adapter (2)object adapter 三、实现 和其他很多模式一样,学习设计模式的重点是学习每种模式的
2010-03-30 18:59:00 716
原创 xpcom 组件开发技术
COM技术作为微软推行的一种组件技术,在WINDOWS平台站有重要地位,在模块重用,跨语言通信等方面都能见到其身影。但今天给我要介绍的是LINUX下的COM实现----XPCOM,这是MOZILLA浏览器项目中所使用的基本技术,我们可以用C++制作XPCOM组件,在C++客户程序或MOZILLA浏览器中通过JAVASCRIPT脚本来调用组件,从而实现软件模块的复用。 1、
2010-03-30 18:56:00 1480 2
原创 将DLL中的导出函数表导出到一定义(.DEF)文件
一、使用VC++的工具DUMPBIN将DLL中的导出函数表导出到一定义(.DEF)文件EXAMPLE: DUMPBIN VideoDeCoder.dll /EXPROTS /OUT:VideoDeCoder.def 二、将导出的.DEF文件整理为一符合.DEF个数的函数导出文件EXAMPLE:VideoDeCoder.DEF 文件内容如下Dump of file VideoDeCo
2010-03-30 18:53:00 3024
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人