显示下一条  |  关闭

追梦的哈工大人

-->本人在长沙三一重工

 
 
 
 
 
 

[置顶] (转)C语言中宏定义的一个变态用法

2009-1-16 23:23:28 阅读69 评论0 162009/01 Jan16

#ifdef DEBUG

#define myprintf printf

#else

#define myprintf /\

/myprintf

#endif

由于续行符的作用,define定义时不会发现是注释符“//”,但是在展开到代码之后,就成了注释符“//”了,

也就是说,如果你原来的代码是myprintf("%d",x);,经过这个宏展开后成了//myprintf("%d",x);,

相当于自动在前面加了注释符“//”,你看行得通不?

要注意的是,续行符后面的“/”一定要顶格写,否则就不是“//”了...

作者  | 2009-1-16 23:23:28 | 阅读(69) |评论(0) | 阅读全文>>

[置顶] Windows钩子--监听机制

2008-11-7 22:10:15 阅读87 评论0 72008/11 Nov7

钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。

钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控

制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。

--------------------------------------------------------------------------------

运行机制

1、钩子链表和钩子子程:

每一个Hook都有一个与之相关联的指针列表,称之为钩子链表,由系统来维护。这个列表的指针指向指定的,应用程序定义的,被Hook子程调用的回调函数,也就是该钩子的各个处理子程。当与指定的Hook类型关联的消息发生时,系统就把这个消息传递到Hook子程。一些Hook子程可以只监视消息,或者修改消息,或者停止消息的前进,避免这些消息传递到下一个Hook子程或者目的窗口。最近安装的钩子放在链的开始,而最早安装的钩子放在最后,也就是后加入的先获得控制权。

Windows 并不要求钩子子程的卸载顺序一定得和安装顺序相反。每当有一个钩子被卸载,Windows 便释放其占用的内存,并更新整个Hook链表。如果程序安装了钩子,但是在尚未卸载钩子之前就结束了,那么系统会自动为它做卸载钩子的操作。

钩子子程是一个应用程序定义的回调函数(CALLBACK Function),不能定义成某个类的成员函数,只能定义为普通的C函数。用以监视系统或某一特定类型的事件,这些事件可以是与某一特定线程关联的,也可以是系统中所有线程的事件。

作者  | 2008-11-7 22:10:15 | 阅读(87) |评论(0) | 阅读全文>>

// 计算2000~2099年任一天星期几

// year    : 00-99

// month: 01-12

// day     : 01-31

unsigned char GetWeekFromDay(unsigned char year,unsigned char month,unsigned char day)

{

    if( month == 1 || month == 2 )  

    {

        month += 12;

        if( year > 0 )

            year--;

        else

            year = 4;

    }

// 返回星期几(星期一用1表示,而星期天用7表示)

    return 1+(( day + 2*month + 3*(month+1)/5 + year + year/4 ) %7);



试了几个日期算了下 都对的。

感觉好神奇。

作者  | 2008-10-24 21:12:54 | 阅读(39) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
日志评论
评论列表加载中...
 
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 
 
 

湖南省 长沙市 摩羯座

 发消息  写留言

 
电子、SNMP的学习研究
 
近期心愿电子工程师
交友目的思想交流
POPO  QQ:747161422
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012

   
创建博客 登录  
 关注