2013-05-04 06:35
⁄ 工业·编程
⁄ 共 5832字
钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。
钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控
制权。这时钩子函...
Hook, 软件开发阅读全文
2013-04-28 19:15
⁄ 工业·编程
⁄ 共 705字
1.异常处理相对于返回错误代码的一个最大优点在于,异常可以被自动传递,这样,在编程时异常更加难以被忽视。
2.通常,只在最上层(一般是UI层)捕捉异常。如果要在其它层捕捉异常,除非是下列情况之一: (1)能够处理该异常,或者 (2)能够忽略该异常,或者 (3)需要转换该异常为其它特定异常后抛出新异常
3.UI层捕获异常后,可以 (1)将无关紧要的异常忽略。 (2)将异常转换为错误信息展现给用户。 (3)如果...
异常处理, 软件开发阅读全文
2013-04-27 06:13
⁄ 工业·编程
⁄ 共 1295字
每当我们切入一个新项目时,我们发现项目中的文档总是少的可怜,而且里面的设计与当前的系统设计严重不符,有些甚至在架构上出现了严重的偏离。于是我们问待交接人,为什么项目中只有这么点文档,而且文档的内容也不准确?他们振振有词的告诉我们:这个项目的开发周期非常紧张,而且需求经常发生变化,他们根本没有时间去维护文档,里面的那份文档,是很久之前加班补的。要想看详细的设计,就去看代码吧,代...
软件开发阅读全文
2013-04-01 22:20
⁄ 工业·编程
⁄ 共 3624字
软件的核心任务不外乎是收集和整理数据,然后以用户需要的形式表现给他们而已,此外还有数据的存储,数据的传输等外围任务。数据的收集,整理,表现,存储和传输就是软件的主要任务,它们也是程序员的主要工作内容,也是程序员编写代码的最终目的。
》》》软件之路:你是真正的程序员吗
那么该如何编写代码让软件完成它的主要任务呢?编写代码的过程是否有规律可循?编写代码需要注意那...
软件开发阅读全文
2013-03-30 06:51
⁄ 工业·编程
⁄ 共 641字
首先:语言上,你选择的 C++ ,这点应该可以确定 其次,界面库的选择,你在犹豫 MFC 还是 Qt ? 再次,IDE的选择上,你在犹豫 Visual Studio 还是 QtCreator ?
假定,你界面库选择 Qt,IDE选择了 QtCreator?那么你面临编译器的选择(准备在QtCreator下用哪个编译器来编译你的程序): 微软的MSVC、开源的MinGW、Intel的C++编译器、还是...
不要单独把 VC 拉出来说,特别在你不清楚这几个概念的情况下:在不同的语境下有...
VC, 软件开发阅读全文
2013-02-03 22:43
⁄ 工业·编程
⁄ 共 419字
// 如何将int 的第十位 设置为0 。 //将short 中的 第十一位设置为1; //a = 1011 1111 1001 1101 int funInt() { // 将a 的第三位设置为0 int a = 157; //1001 1101 int b = 1; // 0001 b = b<<(3-1); // 0100 b = ~b ; // 1011 int c = a&b; // 1101 ...
软件开发阅读全文
2013-02-02 22:42
⁄ 工业·编程
⁄ 共 854字
有个应用静态库的工程是在vs2010 中编译的,使用的运行库是vs2010 的运行库。
而静态库是使用vc6.0的编译时运行库。 在引入lib时 应用工程link时会报错, 主要问题是运行库版本不一致, 后来我使用的vs2010编译的lib静态库. 解决了部分问题。
以摘录百度网友 的《VC编译——link时报重复定义错误》 文章
C Runtime Library:
开关
对应的库
版本
/MD
MSVCRT.LIB
多线程DLL的Release版本
/MDd
MSVCRTD.LIB
多线程DLL的Debug版本
/...
软件开发阅读全文
2013-02-01 22:40
⁄ 工业·编程
⁄ 共 605字
最近遇到过静态库编译的一些问题 仅此记录下解决方法
1. 原工程为动态库工程,现应要求将其改编成静态库编译
首先新建了一个staticlib工程,将原来的。h.cpp 文件加入到该工程中,
这里比对了下 工程设置 staticlib 中多出一个library 对话框项
c++ 对话框项中的 preprocessor 中 预定义宏出现了 “_LIB”,
对比两个 dsp工程文件中
!MESSAGE "Test - Win32 Debug" (based on "Win32 (x86) Dynamic-Link L...
软件开发阅读全文
2012-12-11 21:30
⁄ 工业·编程
⁄ 共 4430字
寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。
32位CPU所含有的寄存器有:
4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址寄存器(ESI和EDI) 2...
cpu, 介绍, 新手, 软件开发阅读全文
2012-12-10 11:28
⁄ 工业·编程
⁄ 共 487字
程序使用dll时需要lib 文件,下载sqlite3时只能得到def 和dll文件,所以可以使用lib 命令生成一个lib ,过程如下
1)将C:/Program Files/Microsoft Visual Studio 8/VC/bin放在环境变量path中
2)启动CMD,进入到放def 文件的目录
3)lib /DEF :sqlite3.def /machine:IX86
这时可能提示找不到mspdb80.dll,所以
4)从C:/Program Files/Microsoft Visual Studio 8/Common7/IDE目录下找到mspdbsrv.exe、msobj80.dll、mspdb80.dll、...
软件开发阅读全文