- 博客(61)
- 资源 (47)
- 收藏
- 关注
转载 CALLBACK, WINAPI, AFXAPI和函数调用方式
(VC编译器下)1. CALLBACK,WINAPI和AFXAPI到底是什么?它们分别在什么地方被定义的?在头文件windef.h中,CALLBACK, WINAPI, APIENTRY……#define CALLBACK __stdcall#define WINAPI __stdcall#define WINAPIV __cdecl#defin
2009-06-04 08:47:00 798
转载 虚析构函数问题:为什么要将基类的的析构函数设成虚的?
某CSDN网友问:class A { public: ~A() { cout http://blog.csdn.net/pathuang68/archive/2009/04/24/4105902.aspx),因此,A对象的vfptr所指向的是B对象的虚函数表,而B的析构函数位于书函数表0的位置,因此,这样就可以通过A类对象的指针d,找到B类对象的析构函数,从而在delete
2009-06-04 08:41:00 650
转载 static关键字
C/C++中的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类的问题。A. 面向过程程序设计中的static关键字1) 静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。静态全局变量定义和使用类似: #include
2009-06-04 08:38:00 658
转载 一个进程在内存中的布局
对于一个完整的程序,在内存中分布情况如下图: 值得一提的是:在C#中struct存放在栈区,class存放在堆区,所以一般struct要比class要快的。 堆和栈的比较表(仅针对C++) 栈(Stack) 堆(Heap) 申请方式 由OS自动分配。例如在函数声明一个局部变量int b; OS自动在栈中为b开辟空间 需要程序员自己申请,并指明大小,在c中malloc函数
2009-06-04 08:27:00 1070
原创 三谈内存对齐问题
请同时参考:1. 关于内存对齐问题2. 再谈内存对齐问题 内存对齐问题,大家已经说了很多。今天碰到一个帖子,内涵内存对齐问题,大家争论得比较激烈,在争论的过程中,加深了对这个问题的认识。 第一种情况:struct BBB{ long num; // 4bytes char *name;
2009-06-04 08:22:00 684
转载 关键词volatile小议
转自:http://blog.chinaunix.net/u2/74524/showart_1093982.html 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值(From Memory),而不是使用保存在寄存器里的备份。 下面是volatile变量
2009-06-03 17:36:00 378
转载 C++编写Windows服务
使用C++ 编写Windows 服务,我所看的文章如下(红色的"=" 以内, 来自http://www.programfan.com/article/2920.html ): ============== 前一段时间我写了一篇通过写服务的形式来达到一些监视程序运行的目的的 文章 ,至于如何在windows 下写服务我没有详细介绍,今天就让 我们 一起看看如何来写服务程序。 W
2009-06-03 17:36:00 1714
转载 vc控制台程序连接oracle关键问题
最近在用vc6开发一个控制台程序连接oracle数据库,程序编译通过,但运行是,创建_ConnectionPtr时总是创建不成功,现终于找到了问题所在,下面是测试成功的代码。 #include #include #include "main.h"//#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_names
2009-06-03 17:35:00 729 1
转载 关于内存对齐
转自:http://blog.csdn.net/hikaliv/archive/2009/06/03/4239352.aspx以下实验平台为 VC9。 这里先引出几条VC下结构体对齐的原则:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员自身大小的整数倍,如有需要编译器会在成员之间加上填充字节(in
2009-06-03 17:34:00 415
转载 utilities for printing out messages
#ifndef __Util_h__#define __Util_h__//// Util.h// - Shared utilities//namespace Util{ void Trace(char* szLabel, const char* szText, HRESULT hr) ; void ErrorMessage(HRESULT hr) ;} ;#endif // __Ut
2009-06-03 14:02:00 533
转载 Office2000下内部COM插件的编程实现
译者:徐景周下载示例源代码简介你也许曾在Office2000下的Word2000、Access2000、Excel2000、PowerPoint2000等软件中的工具条或菜单条资源中,看到一些其它软件加入的新的自定义工具条按钮或菜单条,当点击它们时,会有其不同的响应发生。下面,让我们也来实现这些功能,需要说明的是,在这里我们不用VB/VBA来实现它,而是用VC6中所带ATL(活动模板库)3.0
2009-06-03 13:53:00 617
转载 linux学习心得
1.动态链接这两天实践了一下怎样在linux下创建动态链接。感觉网上的资料虽然翔实,但仍然有疏漏之处。1)g++和gcc的区别http://hi.baidu.com/torpedoes/blog/item/d48ad8c45ddfd9cb39db498d.html某些时候编不过去,可以试试换换cc的值。2)gcc4.1.1下似乎对类型检查严了一些,dlsym返回的void*类型不能转换为相应的函数
2009-06-03 10:00:00 792
转载 VS2005使用技巧
1.选择CPU的类型 使用过EVC的朋友都知道,EVC支持诸如ARMV4、ARMV4I、MIPS、X86等多种CPU类型。但是除了STANDARD SDK之外,其他的SDK通常都是限定了CPU类型的。例如PPC2003是ARMV4的,而Mobile5是ARMV4I的。 大家都知道,ARMV4、ARMV4I是两套颇有渊源的指令集,前者编的程序可以运行在支持后者的机器上,但反过来则不行。这
2009-06-03 10:00:00 987
转载 C/C++编程心得
1.在头文件中定义字符串时,如果该头文件会被多个源文件引用的话,字符串必须被定义为const,否则会有重定义错。当然最好在头文件中只放声明,不要放定义。使用诸如#ifndef _COMMON_STRING_#define _COMMON_STRING_.........#endif解决不了这个问题。因为这段代码解决的是同一个源文件重复包含某个头文件的问题。而这里的问题是不同的源文件包含同一头文件时
2009-06-03 09:59:00 465
原创 windows mobile小技巧
1.自动打开微软蓝牙 使用BthUtil.dll中的BthSetMode函数。2.改变音量 使用waveOutSetVolume函数。3.设置震动、静音 使用aygshell.dll中的SndSetSound函数。4.关闭输入法 使用SipShowIM函数。5.隐藏/显示 输入法、任务栏 使用SHFullScreen函数。如果是MFC对话框的话,还需要添加以下代码才能
2009-06-03 09:59:00 1059 1
转载 jpeglib使用指南
您可以到www.ijg.org网站下载libjpeg的源码, IJG JPEG Library就是jpeg压缩库,是以源码的形式提供给软件开发人员的,当然在软件包里也有编译好的库文件,我们这里就只用到其中的libjpeg.lib,jconfig.h,jmorecfg.h,jpeglib.h这几个文件,下面我就介绍一下怎样在自己的程序里嵌入图像压缩功能。 一、建立编译环境 所谓建立编译环
2009-06-03 09:54:00 52918 7
原创 单向链表的原地归并排序实现
前段时间准备一些面试题时,才开始考虑链表的排序问题。当时一想就感觉原地归并的实现有戏,上网找了一下,发现有人竟是先将链表打散成数组再来排,非常汗。于是自己写了个非递归的原地归并实现,如下: #include templatestruct Node{ Node(T d) { data = d; next = NULL; } T data; Node *next;};templateN
2009-06-02 16:09:00 1357
原创 [C++] 在程序里调用DOS命令
程序里调用DOS命令,网上一般介绍说用system()函数。但是system()函数会有黑窗口跳出来,于是想到了如下办法: //cmd is DOS command line, like "mkdir d://test"void ExeCmd(char* cmd){ char param[10000]; sprintf(param, "/C /"%.1000s/"", cm
2009-06-02 16:07:00 574
原创 MFC socket API使用经验(转载)
一、WSAStartup函数int WSAStartup(word wVersionRequested, LPWSADATA lpWSAData ); 使用Socket的程序在使用Socket之前必须调用WSAStartup函数。该函数的第一个参数指明程序请求使用的Socket版本,其中高位字节指明副版本、低位字节指明主版本;操作系统利用第二个参数返回请求的Socket的版本信息。当
2009-06-02 16:06:00 1800
原创 智能指针的标准之争:Boost vs. Loki
2001 年10 月和2002 年4 月,在美国的华盛顿和荷兰的安的列斯群岛上分别召开了两次C++标准会议。会议的内容之一是对一项新的C++特性提议——智能指针(Smart Pointer)——进行讨论。本文将对可能成为C++新标准的两种智能指针方案(Boost vs. Loki)进行介绍和分析,并给出了相应的使用实例。关键词:智能指针 C++ Boost Loki 在现在的标准C++中,只有一
2009-06-01 13:14:00 568
转载 VC6下使用STLPort
1. STLport下载:http://www.stlport.org/ 我下载的是最新版 02.25.07: STLport 5.1.2 released 2. STLport编译: 我的STLport目录是:D:/STLport-5.1.2 先设置一下VC6下的环境变量:C:/Program Files/Microsoft Visual Studio/VC98/
2009-06-01 11:30:00 1442
C++ Memory Leak Detect
2009-08-31
WinCE 下内存泄露检测大杀器Code snitch
2009-08-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人