- 博客(14)
- 资源 (32)
- 收藏
- 关注
转载 VC++中的回调函数,即callback类型函数的作用
C/C++中回调函数初探 简介 对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用
2009-03-30 16:26:00 13968
转载 常用数据类型使用转换详解
类型 定义 ------------------------------------------------------------- ATOM 原子(字符串在原子表中的参考值) BOOL
2009-03-22 21:17:00 1447 1
原创 一个指针的问题
void test1() { LPBYTE pData = new BYTE[Buflen]; test2(pData); } void test2(LPBYTE pData) { } 问题1:如何在test2函数得到pData指向的内存区长度?test2的参数列表不能变,意思你只有LPBYTE pData。 问题2:如果上面问题你知道那请告诉我,下面的问题不用看了。 问题3:在t
2009-03-21 10:09:00 779
转载 [交流]Win32 DLL的一个调试心得
出处:http://blog.csdn.net/clever101/archive/2008/06/21/2574146.aspx 在MFC工程(包括单文档、多文档、基于对话框、MFC DLL等)调试程序时可以使用trace宏来输出相关变量的值,在Win 32工程(包括Win32 Application和Win 32DLL)只能使用OutputDebugString函数来输出相关变量值。但是我觉得
2009-03-19 21:10:00 783
转载 C/C++预处理 ISO/ANSI C标准译文与注解
> 内容简介:本文档完整翻译了C标准(99版)中预处理和相关章节的内容,并在许多必要之处附加了注解和程序示例,以帮助读者理解标准原文,同时制作了详细的中英文索引备查。 译者:胡彦 出处:http://blog.csdn.net/huyansoft 如果转载,请保留译者和出处信息,谢谢! 本文同时制作了CHM格式的文档,可在http://download.csdn.net/source/468852
2009-03-19 21:08:00 1590
转载 看到的一份不错的介绍“堆和栈的区别”的资料
堆和栈的区别(转贴,作者为一c++程序员,具体姓名不清楚) 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)—> 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)—> 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似
2009-03-19 21:07:00 574
转载 DLL详解
DLL文件(Dynamic Linkable Library 即动态链接库文件),是一种不能单独运行的文件,它允许程序共享执行特殊任务所必需的代码和其他资源 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序 EXE
2009-03-19 21:06:00 1645
转载 常用数据类型使用转换详解
读者层次:初学 刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用。 我们先定义一些常见类型变量借以说明 int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="程"; char temp[200]; char *buf; CString str; _va
2009-03-19 21:04:00 461
转载 调试方法和技巧
便于调试的代码风格:不用全局变量 所有变量都要初始化,成员变量在构造函数中初始化 尽量使用const 详尽的注释 VC++编译选项:总是使用/W4警告级别 在调试版本里总是使用/GZ编译选项,用来发现在Release版本中才有的错误 没有警告的编译:保证在编译后没有任何警告,但是在消除警告前要进行仔细检查 调试方法:1、使用 Assert(原
2009-03-18 20:52:00 493
转载 VC调试入门
概述调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。这里我简要地根据自己的经验列出调试中比较常用的技巧,希望对大家有用。本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单Open。 设置为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppWizard创建的
2009-03-18 20:44:00 607
原创 什么是回调函数(callback)?
回调函数,就是由你自己写的。你需要调用另外一个函数,而这个函数的其中一个参数,就是你的这个回调函数名。这样,系统在必要的时候,就会调用你写的回调函数,这样你就可以在回调函数里完成你要做的事。 模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让A作出相应反应。 那么我们就把foo
2009-03-16 22:17:00 3497
原创 VC++获得当前系统时间的几种方案
//方案— 优点:仅使用C标准库;缺点:只能精确到秒级 #include #include int main( void ) { time_t t = time( 0 ); char tmp[64]; strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天
2009-03-16 20:55:00 580
原创 类型转换
static_cast——并非强制转换(C++没有强制转换),而是相关类型转换,比如int到long,子类指针到父类的转换const_cast——常量到非常量的转换 dynamic_cast——父类到子类的转换 reinterpret_cast——不同类型之间的转换,比如void*指针转为int
2009-03-15 20:25:00 390
原创 如何修改bug(一)——bug的分类和定义
一.前言 我发现很多程序员都在改bug,总在改bug。但是很多人没有思考过什么是修改bug的正确方法,如何高效率的修改bug,如何避免改了一个bug又被测出另外一个bug(我称为连环bug);还有就是,为什么我们的系统越做越不稳定了,bug越改越多了。我总结了一下经验和大家分享。(本人一直在做windows平台下C++系统的工作,文章对C++更有针对性) 作为一个程序员,少不了要修改bug,甚
2009-03-14 08:33:00 2852
C++ FAQs [By Marshall Cline, Greg Lomow, Mike Girou][English]
2009-09-07
LogiScope 6.1.30[15](15-15)
2009-02-08
LogiScope 6.1.30[14](15-14)
2009-02-08
LogiScope 6.1.30[13](15-13)
2009-02-08
LogiScope 6.1.30[12](15-12)
2009-02-08
LogiScope 6.1.30[11](15-11)
2009-02-08
LogiScope 6.1.30[10](15-10)
2009-02-08
LogiScope 6.1.30[09](15-9)
2009-02-08
LogiScope 6.1.30[08](15-8)
2009-02-08
LogiScope 6.1.30[07](15-7)
2009-02-08
LogiScope 6.1.30[06](15-6)
2009-02-08
LogiScope 6.1.30[05](15-5)
2009-02-08
LogiScope 6.1.30[04](15-4)
2009-02-08
LogiScope 6.1.30[03](15-3)
2009-02-08
LogiScope 6.1.30[02](15-2)
2009-02-08
LogiScope 6.1.30[01](15-1)
2009-02-08
C++ FAQs [By Marshall Cline, Greg Lomow, Mike Girou][English]
2009-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人