自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (6)
  • 收藏
  • 关注

原创 防止可重入:一个有趣的类和一个很有用的宏!

这几天在研究Todolist源码,看到一简短的类,很很有意思,现把源码列下,并附上简短说明:  // macro to help prevent re-entrancy in functions //定义一个宏AF_NOREENTRANT,防止函数中可重入#define AF_NOREENTRANT / static BOOL bAFInHere = FAL

2009-09-07 10:57:00 1473

原创 tomcat 安装时出现 Failed to install Tomcat7 service

tomcat 安装时出现 Failed to install Tomcat7 service 今天在安装tomcat时提示 Failed to install Tomcat7 service了,花了大半天的时间找到了原因,下面分享给大家,希望对各位有所帮助。应该是你卸载时直接删除目录导致的.Failed to install Tomcat7 service Check yo

2014-03-18 10:38:37 53883 5

原创 VS2005链接错误,代码C1047

fatal error C1047: The object or library file '*.obj' was created with an older compiler than other objects; rebuild old objects and libraries 编译器为VS2005中文版,安装 VS80sp1-KB926601-X86-CH.exe 一切OK!

2014-03-17 16:57:20 1501

转载 怎样在Delphi2007中安装OCX控件

首先创建一个新的VCL工程用于测试(方法大家都会),现在开始安装OCX控件,方法有点繁琐首先单击File▶New▶Package创建一个控件包,然后保存这个工程(注意这一步很关键),然后单击Component▶Import Component▶Import ActiveX Control,在列表中选一个已注册的OCX控件或直接导入一个ocx文件,然后单击Next直到出现Add unit

2012-12-12 22:35:29 3009

原创 U盘安装Windows 7系统

本文转自:usb 启动盘制作的几种办法,部分加了注解,供各位参考。 USB启动盘越来越流行了。因为一些轻便的笔记本,根本就没有光驱。带U盘比带光盘还是方便一点。 本文关注windows启动盘的制作,以windows 7 iso为例。首先,准备一个win7.iso,是win7的安装盘镜像。该镜像可以在微软的在线 store买到。另外,准备一个不低于4G的空U盘,格式化为FAT32。 以下是一些可行的办法。但USB的安装盘还是可能会有莫名其妙的错误。需要多尝试。 1.使用Windows 7 USB/DVD D

2010-06-08 10:51:00 7623

转载 SQLITE3 在VC/MFC 中使用的一点体会

SQLITE简介:This is an extension for the SQLiteEmbeddable SQL Database Engine. SQLite is a C library that implements anembeddable SQL database engine. Programs that link with the SQLite library c

2010-03-02 18:05:00 2634

原创 字符串操作

CString 操作指南 

2009-12-27 17:30:00 768

转载 windows编程中文件操作的几种方法

 windows编程中文件操作有以下几种常见方法:1.C语言中文件操作。2.C++语言中的文件操作。3.Win32 API函数文件操作。4.MFC CFile类文件操作。5.MFC CFileDialog类的文件操作。6.注册表文件操作。下面我来详细说明一下各种文件操作方法:1. C语言中文件操作.需要包含的头文件STDIO.H   写入文件: FILE *pfile=fopen("C.t

2009-12-18 15:16:00 1337

转载 有效运用auto_ptr

很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。1.为什么称它为“自动”指针?auto_ptr只是众多可

2009-12-17 20:07:00 626

原创 C++多态行为的不确定性

最近做一个项目,使用了一个抽象类的线程类,使用的时候发现有时会出现调用纯虚函数的情况,代码如下:class Thread{public: Thread(int InitFlag=CREATE_SUSPENDED); ~Thread(); HANDLE m_ThreadHdl;private: virtual bool Execute()=0; static un

2009-12-17 18:26:00 2112 2

转载 VC调试无法进入断点解决方法。

     以前也碰到过同样的问题,但没有问个为什么,也没有探个究竟。昨天调试一个DLL,添加输出信息吧,太麻烦而且不容易定位,但设置断点后按“F5”,断点不可用,气泡提示“当前不会命中断点,还没有为该文档加载任何符号。”再右键->“位置”->“允许源代码与原始版本不同”,还是不行。77777我还不信了,整它!    后来才发现,“Alt+F7”->“配置属性”->“调试”->“命令”中输入的

2009-11-20 18:31:00 23933 2

原创 用VC6进行UNICODE编程

 用VC6进行UNICODE编程最近试图将自己的程序编译成Unicode版本,费了不少力气,相关内容整理如下,适用于VC6,但VC7、VC8应该也差不多的(后者新建项目缺省即按Unicode编译)。1. 添加 UNICODE 和 _UNICODE 预处理定义位置:Project Settings -> C/C++ -> Preprocessor definitions添加了

2009-11-11 13:42:00 866

转载 硬盘逻辑结构简介

 硬盘逻辑结构简介一. 硬盘逻辑结构简介 1. 硬盘参数释疑  到目前为止, 人们常说的硬盘参数还是古老的 CHS(Cylinder/Head/Sector)参数. 那么为什么要使用这些参数,它们的意义是什么?它们的取值范围是什么?  很久以前, 硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘. 也就是硬盘盘片的每一条磁道都具有相同的扇区数.由此产生了所谓的3D参数 (

2009-11-04 18:50:00 1009 2

转载 操作符重载手册

原文件出处:http://www.adintr.com/program/article/05.oper.html一、重载规则I.可以重载的操作符+-*/%^&|~!=>+=-=

2009-10-24 23:50:00 776

转载 实模式与保护模式

   实模式:寻址采用和8086相同的16位段和偏移量,最大寻址空间1MB,最大分段64KB。可以使用32位指令。32位的x86 CPU用做高速的8086。  保护模式:寻址采用32位段和偏移量,最大寻址空间4GB,最大分段4GB (Pentium Pre及以后为64GB)。在保护模式下CPU可以进入虚拟8086方式,这是在保护模式下的实模式程序运行环境。   保护模式同实模式的根本区别是

2009-10-22 08:53:00 742

原创 索引类型和索引使用原则

使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构, 与必须搜索表中的所有行相比,索引会帮助您更快地获得该信息。索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使用索引的方式与您使用书籍中的索引的方式很相似:它搜索索引以找到特定值,然后顺指针找到包含该值的行。作为通用规则,只有当经常查询索引列中的数据时,才需要

2009-10-16 19:48:00 10046 1

转载 内存操作

使用下列函数在内存区域进行基于字节的工作。  内存操作函数:   1.memcppy 将指定的字符或指定数量的字符从一个 buffer 复制到另一个 buffer .      void *_memccpy( void *dest, const void *src, int c, unsigned int count );      所需头文件: or       返回值:       如果字符

2009-10-15 08:44:00 853

转载 关于GlobalAlloc,GlobalLock,GlobalUnLock

调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。 调用GlobalLock函数锁定内存块,该函数接受一个内存句柄作为参数,然后返回一个指向被锁定的内存块的指针。 您可以用该指针来读写内存。 调用GlobalUnlock函数来解锁先前被锁定的内存,该函数使得指向内存块的指针无效。 调用GlobalFree函数来释放内存块。您必须传给该函数一个内存句柄。GlobalAllo

2009-10-14 15:54:00 1134

原创 部分IT公司笔试算法题

部分IT公司笔试算法题1、将一整数逆序后放入一数组中(要求递归实现)void convert(int *result, int n) { if(n>=10)  convert(result+1, n/10); *result = n%10; }int main(int argc, char* argv[]) { int n = 123456789, result[20]={}; convert(r

2009-10-08 16:53:00 1024 1

转载 C/C++ 内存分配方式,堆区,栈区,new/delete/malloc/free

内存分配方式 内存分配方式有三种: [1] 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, static 变量。 [2] 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中 ,效率很高,但是分配的内存容量有限。 [3] 从堆上分配,亦

2009-10-08 16:44:00 1049 1

原创 私有成员函数一定不能被外部调用吗?

一般情况下私有成员函数一定不能被外部调用,但是虚拟私有成员函数是可能被外部调用的。请看例子: #include "stdafx.h"#include using namespace std;class base{public: void a() {cout<<"base::a"<<endl;}; void b() {cout<<"base::b"<<endl

2009-09-28 17:01:00 6758 2

转载 深拷贝、浅拷贝构造函数

Trend科技的一道面试题:请看下面的程序,说说会出现什么问题?#include #include #include  using   namespace   std;  class   CDemo   {  public:      CDemo():str(NULL){};      ~CDemo()       {           if(str)   delete[]   str;   

2009-09-28 14:34:00 1415

转载 Windows下进程通信的方法

进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:      一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方      另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的

2009-09-28 11:23:00 1256

转载 C/C++ 程序员应聘常见面试试题深入剖析

      1.引言    本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。   许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都

2009-09-25 23:31:00 1297

转载 VC常见问题解答

Q 如何处理ComboBox中的回车键?避免退出程序? A 在一般的EDIT中采用的方法是处理PretranlateMessage(),执行代码 CWnd *pWnd = GetFocus(); if(pWnd != NULL) {   if(pWnd == GetDlgItem(IDC_EDIT1)  {   ...//IDC_EDIT1具有焦点   } }但在ComboBox中好象不同,是Co

2009-09-25 16:44:00 656

转载 VC中的消息分类

VC中的消息的分类有3种:窗口消息、命令消息和控件通知消息,我们这里要谈的是最后一种:控件通知消息。   控件通知消息,是指这样一种消息,一个窗口内的子控件发生了一些事情,需要通知父窗口。通知消息只适用于标准的窗口控件如按钮、列表框、组合框、编辑框,以及Windows公共控件如树状视图、列表视图等。例如,单击或双击一个控件、在控件中选择部分文本、操作控件的滚动条都会产生通知消息。 她类似于命令

2009-09-25 16:31:00 1772

原创 Windows窗口样式

windows样式有很多种,不同的windows,windows控件接受不同的样式。如Combo box接受下以样式:WS_CHILD   AlwaysWS_VISIBLE   UsuallyWS_DISABLED   RarelyWS_VSCROLL   To add vertical scrolling for the list box in the combo boxWS_HSCROLL  

2009-09-25 16:22:00 1447

转载 如何在VC中使用GDI+。

GDI+可应用于二维向量图象,栅格图象及排版,是为C/C++程序员而设计的表现为C++类而存在的接口,能用于一切基于Windows的应用中。作为GDI的后继者,GDI+在GDI中增加了新功能,如文本的反锯齿,渐变笔刷,Alpha溶合;也优化了GDI许多已有的功能。此外,GDI+改变了编程模式,使其更灵活及易用。GDI+并不限于在.Net中存在,实际上它由Windows XP或Windows S

2009-09-25 09:54:00 21133

原创 C++面试题

1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已virtual可加可不加子类的空间里有父类的所有变量(static除外)同一个函数只存在一个实体(inline除外)子类覆盖它的函数不加virtual ,也能实现多态。在子类的空间里,

2009-09-17 22:06:00 984 1

转载 static用法小结

static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种auto, static, reg

2009-09-16 22:25:00 558

转载 Sqlite中文排序研究

转载时请注明出处和作者联系方式:http://blog.youkuaiyun.com/absurd作者联系方式:Li XianJing 更新时间:2006-12-19 Sqlite是一个用C语言实现的小型SQL数据库引擎。它体积小巧但功能强大,对硬件资源要求很低而且性能表现卓越,非常适合于嵌入式应用环境。最近发现sqlite并不支持中文(拼音/笔画)排序,而这个功能又是我们必需的,所以花了些时

2009-09-16 22:05:00 1463

转载 堆和栈的区别

 堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static

2009-09-16 21:44:00 778 2

原创 SQLite 中文 FAQ

zz From https://www.dream4ever.org/showthread.php?t=86440 feuvan @ DRL原文在http://sqlitecn.feuvan.net/faq.html语法部分正在翻译中,敬请期待FAQ中文版 如何创建自增字段? SQLite 支持哪些数据类型? 为什么能向 SQLite 数据库的整型字段中插入字符串? 为什么 SQLite 认为

2009-09-16 21:41:00 1227

原创 sqlite全文查询配置到使用全过程

      SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这

2009-09-16 21:34:00 5741

原创 CDC简介

CPaintDC dc(this);CDC  *dc=GetDlgItem(IDC_STATIC)->GetDC();CDC  *dc=GetDC();DC(Device Context) 设备上下文,可以理解为我们要在上面写写画画的那张纸。VC中有CDC,CClientDC,CPaintDC。CDC是Windows绘图设备的基类。CClientDC:(1)(客户区设备上下文)用于客户

2009-09-16 17:25:00 1434 1

原创 DC保存至BMP图像

BOOL SaveBmp(HBITMAP hBitmap, CString FileName) { HDC hDC; //当前分辨率下每象素所占字节数 int iBits; //位图中每象素所占字节数 WORD wBitCount; //定义调色板大小,位图中像素字节大小,位图文件大小,写入文件字节数

2009-09-16 15:25:00 3928 4

转载 关于内存对齐的全面详细解释

一、内存对齐的原因1、平台原因(移植原因):内存对齐其实不是操作系统内存架构范畴的问题,而是CPU架构方面的问题。不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。x86和x64系统支持自动内存对齐,IA-64系统则不能访问未对齐的内存地址。2、性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的

2009-09-16 15:21:00 963

转载 大端,小端

  int main(){ int x=1; /*the first method */ if(*(char *) &x==1) printf("little/n"); else printf("big/n"); /*the second method*/ x = (char)x; if(x == 1) printf("little

2009-09-16 14:25:00 614

转载 C++空类的默认成员函数总结

  class Empty{      public:               Empty();                  //   缺省构造函数               Empty(const   Empty&);    //   拷贝构造函数               ~Empty();                 //   析构函数   

2009-09-14 11:16:00 690

转载 指针和引用的区别

    ★ 相同点:    1. 都是地址的概念;    指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。    ★ 区别:    1. 指针是一个实体,而引用仅是个别名;    2. 引用使用时无需解引用(*),指针需要解引用;    3. 引用被创建的同时必须被初始化,只能在定义时被初始化一次,之后不可变;指针可变;    引用“从一而终” ^_^

2009-09-14 10:47:00 694

WBS Chart Pro 4.9a

WBS Chart Pro 4.9a 最新版本,可以注册。 WBS CHART PRO软件是一个基于WINDOWS环境的项目管理应用软件,专门用于编制WBS图。国内目前尚未有WBS CHART PRO的中文版,但由于该软件编制的很好,没有英语基础的人也能很快学会使用。

2013-03-28

PMP记忆规律

PMP记忆规律,下载别人的文档,再加上自己整理了一部分!

2013-03-23

精通 windows sockets 网络开发 基于VC实现 源码

VC "windows Socket" 源码 C++

2009-09-09

空空如也

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

TA关注的人

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