好记性不如烂笔头

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

文章分类 -  C/C++

摘要:这里谈的是sdk意义上的概念。 虽然名字中有“类”,但这与一般意义上的OO类无关, 子类化是将一下现有“窗口”(由createwindows系列函数创建的)的窗口处理函数替换,类似于注入,有文档说被子类化的窗口在释放前需要反子类化, 超类化一般是指构造一个wndclass,是在createwindows前就开始动手脚的一个过程 一般概念上认为子类化是超类化的一种情形 阅读全文
posted @ 2011-09-14 09:41 极品瘦子 阅读(101) 评论(0) 推荐(0)

摘要:在学习vs+sdk的过程中,大家都对Windows的消息处理的switch的地方很有意见,前几天在某本书上看到了一种处理方式是声明一个结构体数 组,在Message处理时,用for循环数据,找到匹配的就调用相应的处理函数。但个人认为毕竟在消息处理的WndProc里每个消息都走半遍(概率意 义上的)数组也是一个不小的浪费,应当比switch效率要低一些。后来在大牛的一本内核编程的书的附录上看到了Message Cracker,也即消息分流器,发现确实很有意思,但用起来好像也要适应一下才行。消息分流器,初用真不易 阅读全文
posted @ 2011-09-14 09:41 极品瘦子 阅读(140) 评论(0) 推荐(0)

摘要:1 局部static变量是可以保持数据内容的,不象普通的局部变量会被丢弃掉,静态数据区,且会被初始化为02 全局static变量的作用是保持变量只在当前文件范围内可见,静态数据区,且会被初始化为03 static函数则类似第二条,保持函数仅文件可见,可防止名称冲突 阅读全文
posted @ 2011-09-14 09:39 极品瘦子 阅读(95) 评论(0) 推荐(0)

摘要:在C下的用法一般是声明变量或函数在其它地方已经声明过,是在其它文件中,允许当前文件编译通过。类似于占位符的作用。在C++中,扩展出extern "C"的应用,那个的原理就不是一句话能说得清的了。今天发现了一个有意思的问题,就是修饰了const的extern比如:在某个文件里声明了constintmyint=100;在另一个文件里用externconstintmyint;....这 两句如果没有const的话,一切没有问题,运行正常,如同设计时所想,但上边的两句话加了const的修饰,就有点意思了。一般情况下,在vs2005 中是编译不过的(当然,如果你的测试代码中只有这两句 阅读全文
posted @ 2011-09-14 09:38 极品瘦子 阅读(107) 评论(0) 推荐(0)

摘要:最常见的用法,const char* const p;左右方式,以*为中心,const在*左,则const修饰*,在*右,则const修饰值。也就是const在 *左:表示指针是常量,指针不能乱指const在 *右:表示值是常量,内容不能乱变,上例是指p是指针,这个指针不能动,同时,它指向的内容也不能动,就这么个意思吧当然,在C++中有更多的用法,比如类常量及const函数,操作符重载中的const修饰。这些太c++了! 阅读全文
posted @ 2011-09-14 09:37 极品瘦子 阅读(94) 评论(0) 推荐(0)

摘要:c/c++的开发工具还是有不少的,之所以选择vc,算了,不说了,VC的向导估计造成了N多人的学习疑惑,当然从DOS时代的估计问题不大,对我这个非科班的就麻烦大了,N久前打算学习VC,它的向导生成的大堆代码及MFC搞的我晕头转向,为了了解所以然费了老大劲,结果没有前辈指点,网络不方便,诸如此类的原因,不了了之了。现在又打算捡起来重新学习,好歹也有了些经验,一边学一边写点东西,也算自我激励吧。gcc, vc, intel c, borland c,应当都不错了,从流行性上,gcc vc要好些,gcc是x plantform(或者说在一定程度上是),vc就差些,好像只能在win的OS下了,int.. 阅读全文
posted @ 2011-09-14 09:35 极品瘦子 阅读(160) 评论(0) 推荐(0)

摘要:/c 编译,一般是编译成obj文件/C 预编译/I:"c:/" include的目录,可多次出现/O 多是优化,如/O2 /Ot /Ox/W /w 为编译警告相关的,小写的表示禁止,大写表示启用,如 /Wall表示显示所有警告,/w则表示不显示警告,另外还有警告级别的选项/ML /MT /MD 单线程多线程相关的选项/TC /TP /Tc /Tp 以c 或cpp方式编译,大写表示所有文件,小写表示本文件最多的当然是/c啦不过/?可以有详细的说明选项不少,慢慢补充吧link最常用的就是 /LIBPATH:"c:/lib" 指定lib文件目录/OUT/SUB 阅读全文
posted @ 2011-09-14 09:35 极品瘦子 阅读(226) 评论(0) 推荐(0)

摘要:我喜欢用gmake,因为在哪个平台上基本上都能找到,认准了一个用就比较熟练了,呵呵,有兴趣的可以自己下载一个,我是用的unxUtils包,在sourceforge上有下,设置好后就行了,随便写个源码#include<windows.h>intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow){MessageBox(NULL,TEXT("你好VC"),TEXT("欢迎"),0);return0;}保存为main.cpp下边是make 阅读全文
posted @ 2011-09-14 09:34 极品瘦子 阅读(389) 评论(0) 推荐(0)