qeilf

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  3 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

常用链接

留言簿(4)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

2010年7月13日 #

开发过程中遇到问题的解决方案:

1、链接KeGetCurrentIrql函数出现错误

缺少wdm.lib,具体操作如下:

image

2、unresolved external symbol __except_handler4

在程序中,使用了 __try ,__except的工程,出现下面的错误:
unresolved external symbol __except_handler4
解决办法是:
image 

3、注意一下DriverUnload函数的格式

返回值是VOID,参数是IN,而不是in,这里注意大小写

VOID DriverUnload(IN PDRIVER_OBJECT pDrvObj)
{
    DbgPrint("DriverUnload\n");
    //return STATUS_SUCCESS;
}

4、经常出现warn的也会阻碍编译,我们可以改变警告的等级

解决方案是:

修改Warning Level的值。从W3变为W1

image

image

5、有关添加额外的头文件和lib文件问题

在C/C++必须设置下面的这个内容,否则会报错

D:\WinDDK\7600.16385.1\inc\ddk;D:\WinDDK\7600.16385.1\inc\crt;D:\WinDDK\7600.16385.1\inc\api

image

如有新的东西,我会继续添加进去

posted @ 2010-07-13 23:33 QEILF 阅读(3086) | 评论 (0)编辑 收藏

2010年6月30日 #

 

一.配置。

   1. 下载eclipse     版本:我用的是:3.1.2

  2. 安装 PyDev   插件地址: http://pydev.org/updates/  插件安 装方式就不啰嗦了。

   3. 安装成功之后打开参数设置面板,如图:

 

安装成功后会看到pydev选项. 选择 interpreter -Python, 最上面一栏选择 新建(W)  找到python31的安装目录,选择python.exe。点击应用, 一切配置成功后的截图如下:

ok~~~~完成到这一步就可以新建python工程,开始写python啦~~~~~^_^~~~~~第一次写这样的教程,讲解得应该还 算清晰吧~~~~~~~~

python是个好东西,还在学习中...............哈哈~~~~~~~好好学 习,天天向上

写hello world
首先是建一个项目,选文件--->新建项目--->pydev下 的pydev project
 
 

 
 

 
 
 

 
包名先不用写
 

 

python3.0以后去除print语句,加入 print()函数实现相同的功能。同样的还有exec语句,已经改为exec()函数。去除了<>,全部改用!=。所以下面的语句语法错 误。

编译执行

posted @ 2010-06-30 20:02 QEILF 阅读(555) | 评论 (0)编辑 收藏

 

新建一个MFC DLL项目,设置项目属性如下:

新建一个配置管理项,my_driver_dev,编辑这个配置管理项!

需要事先说明的是,下图中加粗的地方就是需要修改的部分!!!

配置流程如下:

1C/C++

1)“常规”

clip_image007

2)“优化”

clip_image010

3)“预处理”

clip_image014

4)“高级”

clip_image017

2、链接器

1)“常规”

clip_image023

2)“输入”

clip_image028

3)“清单文件”

clip_image031

4)“调试”

clip_image034

5)“系统”

clip_image038

6)“高级”

 

clip_image042

3、示例程序

新建一个cpp文件,然后编译!

#include <ntddk.h>

//提供一个Unload函数只是为了

VOID DriverUnload(PDRIVER_OBJECT driver)

{

     // 但是实际上我们什么都不做,只打印一句话:

     DbgPrint("first: Our driver is unloading\r\n");

}

 

// DriverEntry,入口函数。相当于main

NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)

{

#if DBG

     // _asm int 3

#endif

     // 这是我们的内核模块的入口,可以在这里写入我们想写的东西。

     // 我在这里打印一句话。因为”Hello,world”常常被高手耻笑,所以

     // 我们打印一点别的。

     DbgPrint("first: Hello, my wdk dirver!");

 

     // 设置一个卸载函数便于这个函数能退出。

     driver->DriverUnload = DriverUnload;

     return STATUS_SUCCESS;

}

posted @ 2010-06-30 13:04 QEILF 阅读(1477) | 评论 (0)编辑 收藏