杂项
文章平均质量分 85
郁闷阳光
作为码农,建此博客的目的是记录工作历程中的点点滴滴,分享工作中的感悟、思考。
展开
-
为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行
在VC中当整个工程较大时,软件时常为出现在DEBUG状态下能运行而在RELEASE状态下无法运行的情况。由于开发者通常在DEBUG状态下开发软件,所以这种情况时常是在我们辛苦工作一两个月后,满怀信心的准备将软件发行时发生。为了避免无谓的损失,我们最好进行以下的检查:1、时常测原创 2011-10-19 08:56:05 · 482 阅读 · 0 评论 -
调试小总结
1、VC下,为了方便调试,对于delete之后指针的值或者指针变量初始化的时候,系统都会以0xcdcdcdcd来初始化指针变量。一般的,当指针值为0xcdcdcdcd时,都为无效指针。 注:0xcdcdcdcd与空指针不一样。2、VC下,为了检查内存越界,在new一块内存后,系统会在用户申请的内存区间的最后,额外透明的分配四字节内存(内容为:FD FD FD FD),作为越界检测原创 2011-10-21 09:54:26 · 297 阅读 · 0 评论 -
正确的加载DLL
问题描述:假定EXE调用DLL,DLL内部又调用DLL1。DLL和DLL1与EXE不在同一目录下,而是位于一个单独的目录DLLDIR下。现象: LoadLibrary(L"DLL"); 加载失败①。 LoadLibrary(L"DLL绝对路径");原创 2011-10-21 09:42:56 · 550 阅读 · 0 评论 -
线程(进程)的句柄与伪句柄
通过调用GetCurrentProcess或者GetCurrentIThread可以获取线程或者进行的伪句柄,所谓伪句柄,即指向当前线程或者进程的句柄,并不是真正意义上的句柄。它并不穿件句柄,同时也不增加引用计数,因次调用CloseHandle不作任何处理。 有时候,我们需要在不同的线程或者进程之间切换,这时候就会出问题,因为我们通过上面的方法得到的是个伪句柄,必须通过调用D原创 2011-10-30 22:21:09 · 1109 阅读 · 0 评论 -
CreateThread、_beginthreadex和AfxBeginThread的区别
一直对这三个创建线程的方法都搞不清楚,不知道在什么情况下该用那种方法,下面是从网上摘录的一些帖子:1、不要在一个MFC程序中使用_beginthreadex()或CreateThread()。 这句话的意思是由于AfxBeginThread()是MFC封装的启动线程的函数,里面包含了很多和MFC相关的启动信息,而且封装了一些常用的操作,使用起来也比较简便。而用另外两个函数就需转载 2011-10-30 23:39:33 · 499 阅读 · 0 评论 -
微软11月7日将举行Windows Phone大会
在帮助诺基亚启动了Windows Phone手机之后,微软自己也要发力了,他们今天发出邀请函宣告在11月7日的纽约举行一场"backstage"发布会,Andy Lees和Joe Belfiore等主要WP7产品负责人均到场,并表示此次会议不仅仅是讨论Windows Phone,而是会带给用户一个独特的体验。AT&T将全程参加该会议,邀请函画册上也有明显的三款标有AT&T标识的原创 2011-10-31 00:20:17 · 397 阅读 · 0 评论 -
Windows未公开的API
Windows未公开的API,一本找了很久的资料,有需要的朋友可以下载原创 2011-10-31 14:20:47 · 2477 阅读 · 0 评论 -
windows高级编程
话不多讲,很经典的一本资料,有需要的朋友到我的资源下载。原创 2011-10-31 14:27:56 · 439 阅读 · 0 评论 -
VC中加快链接的小技巧
这个小技巧vc的补充资料(VCREAD.HTM)提供的,内容是有效地使用链接器参数:/OPT:ICF,这个参数的主要作用是通过removes相同的COMDAT记录,以便缩小从链接器产生的可执行文件的大小。在VC 的IDE中,如果选择了链接参数 /OPT:REF,那么 /OPT:I原创 2011-10-19 09:42:54 · 406 阅读 · 0 评论 -
ISAPI与CGI的比较及其实现
摘要:本文介绍了实现web交互的两种方法,CGI及ISAPI。对它们的原理、实现方法作了阐述,并就它们的性能进行了比较。最后简单介绍了ISAPI应用的具体实现。关键词:WEB交互CGIISAPI一、引言ISAPI与CGI都属于通用的网关接口,主要用来实现WWW服务转载 2011-10-19 09:42:01 · 478 阅读 · 0 评论 -
VxD技术及其在实时反病毒中的应用
目前国内的Windows9x平台反病毒产品大多属静态反病毒软件,指导思想是"以杀为主",这一方式的缺点是病毒在被清除之前可能早已造成了严重危害一个好的反病毒软件应该是"以防为主,以杀为辅",在病毒入侵时就把它清除掉,这就是实时反病毒技术。 ----Windows9x使用Int转载 2011-10-19 09:34:25 · 331 阅读 · 0 评论 -
应用MFC开发高级应用程序
摘要:目前在Windows下开发应用程序的工具虽然很多,但是C/C++作为一种非常成熟和高效的开发语言在大型复杂项目的开发中仍然得到了广泛应用。为了减轻程序开发负担,提高开发效率,各种流行的C++都提供了类库,本文就是针对如何在Visual C++环境中使用MFC类库转载 2011-10-19 08:57:22 · 528 阅读 · 0 评论 -
解析动态联编(上篇)
文章摘要多态性是C++最主要的特征,多态性的实现得益于C++中的动态联编技术。文章通过对动态联编的关键技术虚拟函数表进行深入的剖析,解析的动态联编的过程极其技术要领。 关键字 多态性 动态联编 VTABLE 虚函数 文章正文 一 从多态性谈动态联编转载 2011-10-18 14:53:15 · 484 阅读 · 0 评论 -
建立以用户为中心体验——微软Hailstorm介绍
一、挑战长期以来,我们一直伺候电脑,以至于认为被电脑奴役是理所当然的。其实不然!是时候站起来提出强烈要求了:“简化电脑的使用!”让电脑与我们对话,为我们做事,提供我们所需的信息,帮助我们与他人协作并适应我们的个人需要。惟其如此,电脑才能提高我们的生产力,真正让转载 2011-10-18 15:37:20 · 1558 阅读 · 0 评论 -
ADO开发实践
一、ADO简介ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,请不必为此担心,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC转载 2011-10-18 16:08:21 · 259 阅读 · 0 评论 -
自制性能测试类
商业软件包往往价格昂贵,并且需要一个过程之后才能有效地使用它们。针对这一点,本文拟实现一个简单有效的类,它能自动计算并报告函数、循环和代码块执行的时间。自动化与简易性设计 利用类对象构造函数和析构函数的执行特性(它们分别在声明和销毁时执行),性能测试类的计时转载 2011-10-18 16:42:25 · 345 阅读 · 0 评论 -
如何在应用程序忙碌时探测用户的按健
这个问题在论坛中的出现频率很高。在解决这个问题时,首先要明确Windows处理用户输入的方法完全不同于Dos操作系统。当用户按键后,Dos应用向操作系统提出请求,而在Windows中,当用户事件发生时,是由Windows请求调用相应的代码,代码实现自己必须的处理,最后将控制返回到原创 2011-10-18 16:45:04 · 452 阅读 · 0 评论 -
介绍一个直接浏览微软知识库文章的工具
介绍 如果你曾查过微软的知识库文章的话,一定有这样的不爽经历:先用浏览器访问msdn.microsoft.com,在那个小小的搜索编辑框中输入文章号码,然后等待查询结果返回,最后还要点击搜索结果中至少一篇文章的链接。这样做耽误相当多的时间。现在使用本文提供的工具后,一切原创 2011-10-18 16:46:34 · 750 阅读 · 0 评论 -
内存管理的概念
进程和内存空间进程: 一旦程序正在运行,它就叫进程,进程拥有它自己的内存,文件句柄及其他系统资源. Windows任务栏显示的是主窗口而不是进程,单个进程可能有几个主窗口,每个窗口都由它自己的线程支持.每个进程都具有它自己"私有"的4GB虚拟地址空间, 它包括:程序的EX原创 2011-10-19 09:32:21 · 280 阅读 · 0 评论 -
常用的#pragma指令
1.#pragma message(“消息文本”)当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。2.另一个使用得比较多的pragma 参数是code_seg。格式如:#pragma code_seg( ["section-name"[,"section-class"] ] )它能够设置程序中函数代码存放的代码段,当我们开发驱动程序的时候就会使用到它。3.#prag原创 2011-11-02 17:18:14 · 930 阅读 · 0 评论 -
东海海域发生7.0级地震
据中国地震台消息,上午10时59分,东海海域发生7.0级地震,地震源深度220千米。 相关报道 新华网台北11月8日电 台湾气象部门8日公布,8日10时59分,在北纬27.2度、东经125.8度,即台湾东北远海附近距离台北约491公里处发生6.8级地震,地震深度222公里。 台湾气象部门表示,台湾各县市最大震度为:花莲县花莲市2级,台东县兰屿2级。转载 2011-11-08 12:07:51 · 2510 阅读 · 1 评论 -
每个人都是矛盾的
很多时候,我们总是觉得赚钱太少,往往有这样的心理,即使工作累点,但是钱多,那也是值得的。为此,很多人都跳槽,换工作,追求更高的目标。当你的目标实现,但却发现,加班成了家常便饭,空余时间越来越少,又有疲惫厌倦的想法,可能觉得钱少一点无所谓,只要工作轻松,不加班,那就是Ok的。这样的事情不断的在我和我身边的朋友上发生,人真的是矛盾的。到底我们追求那种方式比较好一点呢?客观的讲,两者很难兼得,只能是取一原创 2011-12-02 15:36:47 · 395 阅读 · 0 评论 -
VC读写INI文件
我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpS转载 2012-02-24 15:15:05 · 388 阅读 · 0 评论 -
关于WORD启动时提示出错,只能进入安全模式解决方法
最近办公室好多电脑都出现了这种情况:打开word文档,不知什么原因,系统总是显示Microsoft office word遇到问题需要关闭如下图:然后就是必须点发送错误报告,接着提示以安全模式打开word如下图:关闭了重新启动word还是一样,于是通过以下手段解决 1、用Office安装光盘检测与修复WORD,结果问题依旧。 2、卸载、然后重原创 2012-02-27 09:53:52 · 1083 阅读 · 0 评论 -
软件开发相关文档的写法
在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。 ◇ 可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 ◇ 项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、原创 2012-04-09 13:48:04 · 528 阅读 · 0 评论 -
VS2005与IE8的冲突
前几天升级浏览器,装了个8.0的版本,结果发现VS2005向导不能使用了,每次要添加类都提示网页错误,查找了很多资料,最好终于问题解决了,修改一下注册表即可。在注册表项“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones”下面新建一个名称为“1000”的子项,在其中新建一个D原创 2012-04-25 10:31:42 · 409 阅读 · 0 评论 -
注册表脚本文件
REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中。利用REG文件我们可以直接对注册表进行任何修改操作,它对注册表的操作可以不受注册表编辑器被禁用的限制,因此功能更为强大、灵活,另外,由于REG文件可以用任何文本文件编辑工具(例如记事本)进行修改,因此通过它对注册表数据进行修改后,如果发生错误,还可以通过改回REG文件中的数据后再导入,从而实现恢复操作,因此它又较之转载 2012-04-25 10:38:55 · 677 阅读 · 0 评论 -
什么是交叉编译?
什么是交叉编译? 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译 。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统 (Operating System)。同一个体系结构可以运行不同的操作系转载 2012-06-01 10:32:41 · 438 阅读 · 0 评论 -
阿里资深技术专家:如何快速成为技术大牛?
你是否有类似这样的问题——“天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?”阿里资深无线开发专家李运华,系统梳理了自己的思考和理解,希望帮助更多同学少走一些弯路。不管是开发、测试、运维,每个技术人员心里多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。然而“梦想是美好的,现实却是残酷的”,很多同学在实际工作后就会发...转载 2018-04-02 15:46:51 · 1440 阅读 · 0 评论 -
为什么要做多活?饿了么多活技术架构及运维挑战
51CTO.com原创稿件】饿了么业务快速发展,给技术带来了海量请求和高并发、微服务的挑战,同时开发团队快节奏的版本迭代和服务快速上线的要求也驱动运维团队提供稳定、高效的运维服务。2017 年 12 月 01 日-02 日,由 51CTO 主办的 WOTD 全球软件开发技术峰会在深圳中州万豪酒店隆重举行。饿了么技术运营负责人程炎岭在创新运维探索专场与来宾分享了"跨越篱笆-饿了么多活运维上下求索"的...转载 2018-04-02 15:49:30 · 4458 阅读 · 0 评论 -
一些vc的基本知识,创建应用实例的步骤
AfxMessageBox("Copy");表示弹出一个消息框 消息是Copy;1.启动界面的步骤 a.创建一个单文档框架 b.在工程菜单里选择添加工程 c.在添加工程里选择Components and Controls Gallery d.Components and Controls Gallery里选Visuan C++ Components e.Visua转载 2012-02-24 15:14:18 · 727 阅读 · 0 评论 -
链接器都干了些什么?
目前项目在不停的增长,我想还是在它规模仍旧很小的时候把它的模块分清楚,不同模块分到不同的 projects 里面,这里面出现了很多问题,也反映了我知识上的很多不足。1 , project 最后的输出要设置清楚,有的是 static lib ,有的是 dll ,有的是 exe ,不一样的输出要设置好,它们都是 linker 的成果,但是以不同的方式应用。2 , project depende转载 2012-02-24 15:08:22 · 273 阅读 · 0 评论 -
L4相关资料
L4的官网:http://os.inf.tu-dresden.de/L4/impl.html有人移植的博客案例:http://hi.baidu.com/l4os/blog/item/9a37ca4c95468bf1d62afc46.html相关的博客:http://ooooooo.blogbus.com/tag/L4/ http://blog.chinauni转载 2012-02-24 15:04:49 · 385 阅读 · 0 评论 -
如何成为一个C++高级程序员
C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在C++的使用范围比以前已经少了很多,java、C#、python等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器。 现在学习java、C#等语言的人数远远高于C++,主翻译 2011-12-12 10:02:27 · 352 阅读 · 0 评论 -
50个c/c++源代码网站
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码 。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建 议,以进一步加强这方面的清单。 添加:http://www.boost.org/1、http://snippets.dzone.com/tag原创 2011-12-09 14:53:46 · 340 阅读 · 0 评论 -
Lint 静态源码检查工具
注:一直不知道原来还有工具来静态检查程序的正确与否,转载过来以备参考。LINT工具是一种软件质量保证工具,许多国外的大型专业软件公司,如微软公司,都把它作为程序检查工具,在程序合入正试版本或交付测试之前一定要保证通过了LINT检查,他们要求软件工程师在使用LINT时要打开所有的编译开关,如果一定要关闭某些开关,那么要给出关闭这些开关的正当理由。 可想而知,如果从我们编码后第一次编译程转载 2011-12-09 14:54:44 · 631 阅读 · 0 评论 -
如何从源文件创建工程
有时候我们可能得到的只有源文件,而没有工程,那么这个时候如何生成工程文件呢?总结了下,大概有以下几种方法:1.自己用向导创建一个工程,类型必须与源代码的匹配,然后将相应的文件加入工程中,如果这个是一个简单的工程,比如控制台此类的工程,这算是一个简单好用的方法。2.找一个类似的工程文件,然后正确的加入文件,这种方法和第一种类似。3.直接用向导生成工程文件。具体步骤:文件---新建----原创 2011-12-13 14:05:33 · 774 阅读 · 0 评论 -
单元素数组的技巧性用法
关于单元素数组,有一个技巧性用法。在结构体末尾可以定义a[1]这种成员变量,然后通过malloc等动态分配大于结构体语法上所需的空间(sizeof结构体类型得到的值)来实现不定长数组和结构体。例如struct S{ int i; short x[1];};然后struct S* p = (struct S*)malloc(sizeof(S)+(n-1)*sizeof(short));原创 2012-02-02 10:16:51 · 954 阅读 · 0 评论 -
系统必备软件篇
一直在想程序员们都喜欢装些什么东东到自己电脑上呢,你也许老是在不停地卸了装,装了卸。同一系列的到底哪一种最适合自己呢。且听木木点评。如果您觉得有些点评不合适或者需要补充,欢迎提出宝贵意见,O(∩_∩)O谢谢!转载请注明出处: http://blog.csdn.net/liquanhai/article/details/7203155 首先声明自己用的操作系统是windows系转载 2012-02-06 09:19:08 · 439 阅读 · 0 评论 -
VC程序员常用的开发工具
过年了,事情可以暂时放一下了。总结一下很有必要。又看到外面饭馆写着“岁末收工,初六开炉“了。好了,废话不多说,接着上篇继续评点程序员常用工具。当然还得请朋友们留言,好做继续的整理和补充,谢谢!顺祝大家新年好!文中已经提供每个工具的超链接地址,请点击下载:1. IDE:钟情于VC++6.0,但是也感觉Visual Studio2008和2010的强大,可能迟早得转到VS高版本上来。在安装V转载 2012-02-06 09:16:44 · 680 阅读 · 0 评论