- 博客(484)
- 资源 (47)
- 收藏
- 关注
转载 动态改变基于CDialog的窗口的大小
动态更改对话框大小CRect rect;GetWindowRect(&rect);SetWindowPos(NULL, rect.left, rect.top, rect.Width()+deltaW, rect.Height()+deltaH, SWP_NOMOVE);动态更改控件大小CRect rect;CWnd* pWnd = GetDlgItem(IDC_XXXX);pWnd->Get
2009-06-05 18:12:00 1272
转载 MFC / vc 自定义字体(类型/大小)显示
CDC* pDC =GetDC(); //获取DC CString strText;// pDC->SetBkMode(TRANSPARENT); //transparent? LOGFONT lf; CFont fontTemp, * pFontOld; pDC->GetCurrentFont()->Get
2009-06-05 18:08:00 903
转载 学习makefile
跟我一起写 Makefile陈皓 (CSDN)概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML的标识的含义。特别在Unix下的软件编
2009-06-05 18:04:00 1025
转载 stream
C++文件流 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout 2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,c
2009-06-05 17:59:00 542
转载 前端开发的常用工具一览
Fiddler一个很强大的http流查看工具http://www.fiddlertool.com/fiddler/Httpwatch数据分析工具,头消息接受/发送的查看,POST数据查看.等等http://www.httpwatch.comIE Developer ToolsbarIE下的FireBug.HTML及CSS调试工具http://www.windowsmarketpl
2009-06-05 14:03:00 436
转载 时间复杂度和空间复杂度
1、时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。 (2)时间复杂度 在刚才提到
2009-06-05 14:02:00 486
原创 用ATL开发和部署ActiveX网页控件
用ATL开发和部署ActiveX网页控件 摘要 ActiveX插件技术广泛的运用于B/S系统中,本文通过一个项目实例,详细介绍用ATL开发和部署ActiveX网页控件的过程。学习使用ActiveX让浏览器访问客户端的硬件资源。 关键字 ATL,ActiveX控件,COM组件 一、前言 在B/S结构的系统中,出于安全性考虑一般不准许浏览器访问客户端的硬件资源,如控
2009-06-05 14:00:00 542
转载 发布Activex
1、如果需要创建cab文件,首先需要Cabarc或者Makecab,它们随着Cabinet SDK的安装就有了,Cabinet SDK的下载地址是http://msdn.microsoft.com/workshop/management/cab/cabdl.aspCabarc可以创建、查看或者解出cab里面的文件,而Makecab则只可以用来创建cab文件。 2、制作cab文件时需要将所有的
2009-06-05 14:00:00 458
转载 谁说C语言很简单?
http://cocre.com/?p=873 前两天,Neo写了一篇《语言的歧义》其使用C语言讨论了一些语言的歧义。大家应该也顺便了解了一下C语言中的很多不可思异的东西,可能也是你从未注意到的东西。是的,C语言并不简单,让我们来看看下面这些示例:为什么下面的代码会返回0?(这题应该很简单吧) int x; return x == (1 && x);本
2009-06-04 11:06:00 477
转载 语言的歧义
语言是人与人相互沟通的途径,而计算机语言则是人和计算机沟通的途径。就算是任何再完美的自然语言都会有歧义,但是又是什么让人和计算计算机间产生了歧义呢?下面这篇文章来自Gowri Kumar的<a onclick="function onclick(){pageTracker._trackPageview(/outgoing/www.gowrikumar.com/c/index.html?r
2009-06-04 11:03:00 569
原创 一道很好的C语言题
出处:http://bbs.pediy.com/showthread.php?t=51839 在看雪论坛看了一道很好的C语言题,细细地思考,很能洞穿语言的运行机制,题目大概是这样的:如何在下面的test函数里加入代码,使程序运行起来输入和输出的相等? #include void test() { int t; scanf("%d",&t); //在这里加入代码...... } void main(
2009-06-04 09:37:00 590
原创 COM对象访问
我们建立了一个ATL工程MathServer,声明了ISimpleMath接口和实现了SimpleMath对象,现在我们要在我们的MathClient的工程中访问这个COM对象。方法一: 首先要在工程中导入MathServer工程生成的dll或tlb文件。#import "../Lib/MathLib.dll" no_namespace#import "../L
2009-06-04 09:20:00 623
原创 几个有用的计时的类
很多时候,我们需要计算某段代码的操作所耗费的时间,我们往往会这样写: 第一种情况,精确到毫秒。 clock_t start = null, end = null; double duration = 0; start = clock(); // operation statements here end = clock(); d
2009-06-04 09:18:00 458
原创 常用数据类型使用转换详解
本文将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2;一、其它数据类型转换为字符串短
2009-06-04 09:14:00 534
转载 如何使用API获取文件系统的文件目录
#include wchar_t szPath[MAX_PATH]; ::SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, 0, szPath); 参数说明:CSIDL_FLAG_CREATE($8000)windows 2000:如果这个CSIDL所引用的文件夹不存在,则创建这个文件夹 CSIDL_FLAG_DONT_VERIFY($4
2009-06-04 09:13:00 983
转载 求字符串长度的函数strlen
最常见的:typedef unsigned long size_t;size_t strlen(const char *str){ size_t len=0; while(*str++!=/0) len++; return len;}优化过后的:size_t strlen(const char *str) { register const
2009-06-04 09:12:00 829
转载 关键字explicit小议
内容: 在C++语言中有这样一个关键字explicit,也许你不经常用到它或者压根就根本就没有见过它,那这个关键字到底有什么作用呢?C++语言标准中为什么要将它作为一个关键字标准列入标准当中呢?带着这些问题我们稍微地认识一下这个"家伙",呵呵. 我们先来看一段code: class TestClass{ public: TestClass(int value)
2009-06-04 09:03:00 436
转载 对象内存布局
对象内存布局 http://blog.csdn.net/pathuang68/archive/2009/04/23/4101981.aspx
2009-06-04 08:54:00 413
转载 区别:static _cast、dynamic _cast、reinterpret_cast和const_cast
C-style cast举例: int i; double d; i = (int) d; 上面的代码就是本来为double类型的d,通过(int)d将其转换成整形值,并将该值赋给整形变量i (注意d本身的值并没有发生改变)。这就是典型的c-style类型转换。下面是一个简单的程序:#include using namespace std; int main
2009-06-04 08:49:00 614
转载 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 52914 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 573
原创 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关注的人