自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (4)
  • 收藏
  • 关注

转载 ubutu 突然看不到共享文件夹 原来是更新后vmtools发神经 或者是更新ubuntu的原因 所以没事别更新啊

在Vmware中安装Ubuntu之后,共享文件夹没有任何问题。但是一旦Ubuntu更新之后,Ubuntu下就找不到共享文件夹了,在hgfs目录中什么东西都没有。网上有不少教程说是vmware-tools下的vmhgfs模块编译错误,要手动修改模块中的compat_slab.h文件,但是我把vmware-tools中的vmhgfs.tar解压之后,压根找不到compat-slab.h

2011-12-02 14:10:19 1982

原创 解决LNK2005 error 问题

A LNK2005 error occurs when the CRT library and MFC libraries are linked in the wrong order in Visual C++ 问题是由于链接顺序 http://support.microsoft.com/kb/148652 微软在这里有解释但是提供的解决方案 是对VC 6.0的 而我实在找不到20

2011-11-11 21:14:43 508

原创 wchar_t to char unicode to multi byte

<br />原文地址:http://hi.baidu.com/gchrist/blog/item/29a138f533383e24bd310934.html    C++标准中,wchar_t是宽字符类型,每个wchar_t类型占2个字节,16位宽。汉字的表示就要用到wchar_t 。char,我们都知道,占一个字节,8位宽。<br />其实知道了这个以后,要在wchar_t 和 char两种类型之间转换就不难实现了。wchar_t 转换为char 的代码如下: <br />有如下的wchar_t和char

2011-05-03 18:23:00 2077

原创 dll中用mfc的东西以及导入com库

<br />dll中要用mfc的东西 比如对话框 就得在建project时 选dll时 选择 regular dll with static mfc 或者选 mfc extension dll<br /> <br />要导入com库 在dll中建对话框时要打开Automation选项

2011-04-14 20:35:00 783

原创 将VS2010的工程转换为VS2005,即用VS2005打开

<br />我这个工程是一个基于DLG的工程,VS2010创建,现在要用VS2005打开。<br /> <br />步骤如下:<br /> <br />首先,对于vcxproj的文件 直接不理会, 直接去打开vcproj,当然这样是打不开的,会提示转换失败。需要编辑打开<br />vcproj,将里面的 Version="9.00"改为Version="8.00",这样就能打开了<br /> <br />然后,编译。默认生成一个solution文件。编译肯定不成功。<br />第一个就是 注释掉 //#in

2011-04-12 14:43:00 11073 5

原创 虚函数与多态的秘密

<br />虚拟函数正是为了对「如果你以一个基础类别之指针指向一个衍生类别之对象,那么透<br />过该指针你就只能够调用基础类别所定义之成员函数」这条规则反其道而行的设计。<br />CEmployee* pEmp;<br />CWage aWager("曾");<br />CSales aSales("侯");<br />CManager aManager("陳");<br />pEmp = &aWager;<br />cout << pEmp->computePay(); //

2011-03-06 13:21:00 724

原创 this 指针

<br />两个矩形对象rect1 和rect2 各有自己的m_color 成员变量,但<br />rect1.setcolor 和rect2.setcolor 却都通往唯一的CRect::setcolor 成员函数。那么<br />CRect::setcolor 如何处理不同对象中的m_color?答案是:成员函数有一个隐藏参数,名<br />为this 指针。当你调用:<br />rect1.setcolor(2); // rect1 是CRect 对象<br />rect2.set

2011-03-06 12:27:00 593

原创 c语言基础 2

<br />指针与数组(c语言):<br />ANSI C使用类型void * (指向void的指针)代替char* 作为通用指针的类型。 <br />地址运算符&只能应用于内存中的对象,即变量与数组元素。它不能作用于表达式,常量或register类型的变量。<br />我们应该注意,指针只能指向某种特定类型的对象,也就是说,每个指针都必须指向某种特定的数据类型。一个<br />例外是指向void类型的指针可以存放指向任何类型的指针,但它不能间接引用其自身。<br /><br />y =

2011-03-05 11:05:00 703

原创 二叉树 实现 输入单词按字典顺序排序

#include "stdafx.h"#include struct tnode { /* the tree node: */ char *word; /* points to the text */ int count; /* number of occurrences */ struct tnode *left; /* left child */ struct tnode *right; /* right child */

2011-02-27 17:39:00 2161

转载 c语言 复杂声明 解析

<br />转自 cOffee1982<br />C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过 <br /><br />,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声 <br /><br />明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的: <br /><br />The right-left rule: St

2011-02-27 12:38:00 656 1

转载 转:DEBGU和RELEASE的区别

Debug和Release区别<br />VC下Debug和Release区别<br />最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步定位到问题所在处,才发现原来是给定的一个数组未初始化,导致后面处理异常。网上查找了些资料,在这 罗列汇总下,做为备忘~ <br />一、Debug 和 Release 的区别 <br />        Debug 通常称为调试版本,它包含调试

2011-02-21 21:53:00 521

原创 简单的逆波兰基本计算器

<br />#include<stdlib.h>#include<stdio.h>#include<ctype.h>#include<math.h>#include <string.h> #define MAXOP 100#define NUMBER 0#define IDENTIFIER 1#define TRUE 1#define FALSE 0 /* The new additions deal with adding fu

2011-02-20 17:12:00 589

原创 c语言基础

整数除法会截断结果中的小数部分.取模运算符%不能应用于float和double类型逻辑运算符&&与||有一些较为特殊的属性,由&&与||连接的表达式按从左到右的顺序进行求值,并且,在知道结果值为真或假后立即停止运算。/* atoi: convert s to integer */int atoi(char s[]){   int i,n;   n = 0;   for(i = 0; s[i] >= '0' && s[i]         n = 10*n + (s[i] - '0')

2011-02-19 21:47:00 950

原创 枚举

<br />不同枚举中的名字必须互不相同。同一枚举中不同的名字可以具有相同的值。<br />枚举为建立常量值与名字之间的关联提供了一种便利的方式。相对于#define语句来说,<br />他的优势在于常量值可以自动生成。尽管可以声明enum类型的变量,但编译器不检查这<br />种类型的变量中存储的值是否为该枚举的有效值。不过,枚举变量提供这种检查,因此枚举比#define更具优势。<br />此外调试程序可以以符号形式打印出枚举变量的值。

2011-02-19 18:45:00 481

原创 转义字符序列

某些字符可以通过转义字符序列表示字符和字符串常量.转义字符序列看起来像两个字符,但只表示一个字符.另外我们可以用'/000'表示任意的字节大小的位模式. 其中,000代表1~3个八进制数字(0...7).这种位模式还可以用'/xhh'表示,其中,hh是一个或多个十六进制数字(0...9,a...f,A...F)。因此,我们可以按照下列形式写语句:#define VTAB '/013'   /* ASCII vertical tab */#define BELL '/007'  

2011-02-19 18:33:00 1601 1

原创 整数转网络字节序

//32位整数 转字符数组顺序后 返回32位整数 即转为网络字节序<br />UINT32 ReverseCharArray(UINT32 nNum)<br />{<br /> byte chTem[4];<br /> for (int i=0; i<4; ++i)<br /> {<br />  chTem[i]=nNum&0x000000FF;<br />  nNum>>=8;<br /> }<br /> UINT32  nRst= 0;<br /> for (in

2010-11-30 20:57:00 1586

原创 CString ,BSTR ,LPCTSTR之间关系和区别

CString ,BSTR ,LPCTSTR之间关系和区别CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPCTSTR;vc++中各种字符串的表示法首先char* 是指向ANSI字符数

2010-10-13 15:36:00 714

转载 string cstring char* 比较与转换

(一) 概述 string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中; CString(typedef CStringT > CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char(应用于ANSI),wchar_t(unicode),TCHAR(ANSI与unicode均可); char*为C编程中最常用的字符串指针,一般以'/0'为结束标志; (二

2010-10-13 13:52:00 893

转载 sendmessage 与 postmessage

<br /> <br />本文讲解SendMessage、PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级、中级、高级程序员进行理解,三个步骤分别为:<br />1、SendMessage、PostMessage的运行机制。<br />2、SendMessage、PostMessage的运行内幕。<br />3、SendMessage、PostMessage的内部实现。<br />注:理解这篇文章之前,必须先了解Windows的消息循环机制。<br /> <br />1、Se

2010-10-13 13:39:00 930

原创 "没有找到MSVCR80.dll "的对话框 解决

<br />现象是在debug的时候出现了"没有找到MSVCR80.dll "的对话框;但是在Release中没有报错!<br />在stdafx.h 文件中添加以下代码 或在哪个.cpp中<br /> <br />#pragma comment(linker, "/"/manifestdependency:type='Win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='X86' publicKeyTok

2010-10-11 17:18:00 1279

转载 SAPI 包含sphelper.h编译错误解决方案

<br />【转】SAPI 包含sphelper.h编译错误解决方案 在使用Microsoft Speech SDK 5.1开发语音识别程序时,包含了头文件“sphelper.h”和库文件“sapi.lib”。编译时出错: 1>c:/program files/microsoft speech sdk 5.1/include/sphelper.h(769) : error C4430: missing type specifier - int assumed. Note: C++ does not supp

2010-10-11 16:24:00 4686 1

原创 typedef

<br />理解复杂声明可用的“右左法则”:从变量名看起,先往右,再往左,碰到一个圆括号就调转阅读的方向;括号内分析完就跳出括号,还是按先右后左的顺序,如此循环,直到整个声明分析完。举例:<br />int (*func)(int *p); <br />首先找到变量名func,外面有一对圆括号,而且左边是一个*号,这说明func是一个指针;然后跳出这个圆括号,先看右边,又遇到圆括号,这说明(*func)是一个函数,所以func是一个指向这类函数的指针,即函数指针,这类函数

2010-08-29 23:43:00 449

原创 各个

<br />windows 借助线程封装了代码的运行过程,允许多段代码的运行过程在逻辑上独立且并行处理,而让各个进程间的数据互相不影响, 就要借助虚拟内存, 所以内存管理是windows的重要核心模块。<br /> <br />32位保户模式下,代码和数据都存在长4G的地址空间中,而windows的内存管理器负责将物理内存映射到这4G空间上。由于操作系统本身需要一定的空间供运行工作,所以windows占了这4G空间的高段2G, 用户实际使用的是低段的2G 空间。<br /> <br />最基本的WINDOW

2010-08-29 01:03:00 321

转载 zhuan zhai学习C++:实践者的方法

C++的复杂性分类本来这一节是打算做成一个C++复杂性索引的,然而一来C++的复杂性太多,二来网上其实已经有许多资料(比如Bjarne Stroustrup本人的C++ Technical FAQ就是一个很好的文档),加上市面上的大多数C++书里面也不停的讲语言细节;因此实际上我们不是缺乏资料,而是缺乏一种索引这些资料的办法,以及一种掌控这些复杂性的模块化思维方法。由于以上原因,这里并不详细罗列C++的复杂性,而是提供一个分类标准。C++的复杂性有两种分类办法,一是分为非本质复杂性和本质复杂性;其中非本

2010-08-19 23:56:00 583

原创 在vs2005环境中设置宏定义

<br />c/c++ ---》preprocessor ---》preprocessor definitions 请入要定义的宏

2010-05-31 14:49:00 4564

原创 ANSI UNICODE MULTI-BYTE 的区别

<br />到底什么是ANSI,什么是UNICODE呢?其实这是两种不同的编码方式标准,ANSI中的字符采用8bit,而UNICODE中的字符采用16bit。8bit的ANSI编码只能表示256种字符,表示26个英文字母是绰绰有余的,但是表示汉字,韩国语,日语等有着成千上万个字符的非西方字符肯定就不够了,正是如此才引入了UNICODE标准。 <br /><br />在软件开发中,特别是使用C语言的一些有关字符串处理的函数,ANSI和UNICODE是区分是用的,那么ANSI类型的字符和UNICODE类型的字符

2010-05-31 11:43:00 2361

原创 release下无法及时定位崩溃 导出dump文件来定位release版本 cod文件 map文件

由于在release下无法及时定位崩溃的位置,所以建议相关人员修改工程配置,以便导出dump文件来定位release版本。下面以VS2005为例,介绍修改过程:如果是lib修改4处地方:1. 工程 à properties à C/C++ àGeneral à Debug Information Format       选择 “Program Database for Edit &

2010-03-08 18:15:00 4207

原创 程序崩溃 没有代码 无法定位 Dr Watson Windbg

程序崩溃 没有代码 无法定位首先用Dr Watson 在运行中输入drwtsn32.exe –i 安装Dr Watson作为默认应用程序调试程序。再在在运行中输入drwtsn32.exe 设置: 如图: 日志文件路径为 所要放置dump文件的文件夹,故障转储 就是该目录下的dmup文件位置选择指令和错误数量可以写多点类型选完整选项选1 2 3 6项 当程序崩溃时,Dr Wa

2010-03-08 12:00:00 5431 1

原创 Visual Studio调试之断点

 我曾经问过很多人,你一般是怎么调试你的程序的?  F9, F5, F11, F……  有很多书和文章都是介绍怎么使用VisualStudio编写WinForm啦,、ASP.NET之类的程序;知道如何编写固然重要,但是我觉得程序员可能只会花费30%的时间在编写代码上,剩下的大部分时间都是在调试程序。在网上看到很多人介绍Windbg的用法,但是没有看到几篇讲解使用Visual

2009-11-14 00:08:00 938

转载 一些小技巧

关注: 一个好的程序员不应该把所有的判断交给编译器和调试器,应该在程序中自己加以程序保护和错误定位,具体措施包括: 对于所有有返回值的函数,都应该检查返回值,除非你确信这个函数调用绝对不会出错,或者不关心它是否出错。 一些函数返回错误,需要用其他函数获得错误的具体信息。例如accept返回INVALID_SOCKET表示accept失败,为了查明 具体的失

2009-11-12 00:12:00 579

原创 字符数组没赋值时为什么是屯屯屯屯屯屯屯屯屯

原因如下:   用VC   默认的Debug配置编译C++代码时,申请而未初始化的代码每个字节全部被赋为:0xCC         而在汉字国标码GB-2312中,0xCCCC代码“屯”这个字,所以当显示unicode的程序显示这些未初始化的内存时就会是“屯”这个字   有时候会出现烫烫烫烫烫   要习惯在字符串后加/0  指针则加NULL 

2009-11-11 23:49:00 4638 1

转载 缓冲区溢出

 缓冲区溢出   缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统当机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。缓冲区溢出攻击有多种英文名称:bufferoverflow,buffer overrun,smas

2009-11-10 22:49:00 763

原创 (转)“Error 1719:The Windows Installer service could not be accessed

(转)“Error 1719:The Windows Installer service could not be accessed当您试图添加或删除程序时,可能会收到以下错误消息:Error 1719. The Windows Installer Service could not be accessed.You may be running in safe

2009-06-08 11:35:00 4286

原创 学习c++步骤

学习C++有那些步骤: 1。学习C++基本语法,参考书籍《C++程序设计》》钱能著,或《C++程序设计教程》DEITEL著,我看的是后者;2。学习数据结构,参考书籍《数据结构C++语言描述——应用标准模板库(STL)》William Ford著; 3。学习STL,参考书籍《C++标准程序库》候捷译; 4。学习模板,参考书籍《泛型编程与STL》候捷译; 5。深入STL内部,直到能自己

2009-01-23 14:02:00 1944

原创 堆栈的概念

在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。要点:堆:顺序随意栈:先进后出堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap

2009-01-22 17:07:00 880

原创 计算机数字电路实现

以上所说的这些概念性设计的物理实现是多种多样的。如同我们前述所及,一台存储程序式计算机既可以是巴比奇的机械式的,也可以是基于数字电子的。但是,数字电路可以通过诸如继电器之类的电子控制开关来实现使用2进制数的算术和逻辑运算。香农的论文正是向我们展示了如何排列继电器来组成能够实现简单布尔运算的逻辑门。其他一些学者很快指出使用真空管可以代替继电器电路。真空管最初被用作无线电电路中的放大器,之后便开始被越

2009-01-21 16:55:00 1745

原创 心得 新得 1月15号

1 VC中一定要用好go to definition 这个功能 查找你不知道东西的原始定义 比如HINSTANCE类型的定义其实好像是个结构体指针2 debug和release的区别3 各种调试 断点的使用 基本的汇编语言理解...... CEO(Chief executive officer)首席执行官 类似总经理、总裁,是企业的法人代表。 SimWe个人空间Q!{:v6tu

2009-01-15 22:17:00 393

转载 宏定义中##和#的作用

Author: linqo   from: linqo.cublog.cn    内核中有很多的宏定义,在宏定义define中经常看到两个字符串##和#,这里把它的用法做一下说明:    ##是一个连接符号,用于把参数连在一起        例如:            > #define  FOO(arg)   my##arg     

2009-01-09 15:11:00 619

原创 软方法

凤飞飞

2009-01-04 23:46:00 545

原创 好郁闷呀

最近忙着看程序,又忙着学C和C++,还要看运动控制卡方面的知识,真是头都大了,虽然说了解了基本的C和C++, 但是看别人写的程序 还是感到头大, 因为程序中涉及到Windows  API 和Qt ,实在是头疼,老是被一些类和头文件搞晕,我最感到头疼的是:写程序的人自己建了这么多的类,刚开始的时候都是怎么构思的呢?  唉。。。只怪我学艺不精,有时候真是难受,看一两天也看不出结果。感觉现在用户界面和与

2008-05-22 23:10:00 367

软件测试入门 软件测试基础part2

软件测试入门 软件测试基础 包括 黑盒白盒测试 系统测试 单元测试 界面 测试介绍 感觉不错 适合入门

2011-02-15

软件测试入门 软件测试基础part1

本文件包含两部分 介绍了软件测试的基础 感觉不错 包括黑盒 白盒 系统测试 界面测试 单元测试 等等

2011-02-15

编译连接都成功 就是执行没有反应

编译连接都成功 就是执行没有反应

2008-06-04

DIRECTX JOYSTICK 源程序

DIRECTX JOYSTICK 源程序

2008-05-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除