- 博客(17)
- 资源 (3)
- 收藏
- 关注
转载 回调函数之类相关
提出问题: 回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。 分析原因: 普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递一个指向自身的指针给其成员函数从而实现程序函数可以访问C++的数据成员。这也可以
2016-05-07 11:38:18 274
原创 C/C++项目中调用约定(编译器)的问题
1、c调用约定c\c++项目中常用_cdecl修饰符使编译器按照c调用约定:即,函数调用方按照从右到左的顺序将其参数放入栈中,调用完之后调用方负责从栈中清除参数。2、微软的调用约定_stdcall,与C调用约定区别仅在于:调用完之后被调用者清除栈中的参数。(因此,参数可变函数不能使用这种调用约定。如,printf),其优点在于,每次函数调用不用通过代码清除栈上的参数,因此能够生成体积较
2015-12-27 23:37:47 365
转载 什么是光栅操作
举例说明:BitBlt函数最后一个参数就是光栅操作码,每个不同的代码有不同的意义,代表目标位图和原味图如何进行合并之类的操作。这种操作可以认为是像素级别的,即相对应的两个像素颜色如何混合到一起成为合成出来的像素。如SRCCOPY表示直接把源位图复制到目标区域(目标区域可以认为是目标位图),没有额外操作。SRCAND表示目标图像与源图像进行AND操作。。。。还有XOR、反转等操作。窃认为这个
2015-07-23 22:45:44 2080
原创 device contexts
A device context is a Windows data structure containing information about the drawing attributes of a device such as a display or a printer.All drawing calls are made through a device-context object
2015-07-21 22:47:24 387
原创 Windows下用eclipse玩C-C++及安卓相关环境及工具
Windows下用eclipse玩C++用到一下三个东西:1、 eclipse2、 CDT(一个在eclipse开发C++的插件)(如果你做android的,直接去android的官方开发网站下载android开发版本的eclipse,也就是eclipse+ADT其中也带有CDT了。)3、 Cygwin(Windows平台的unix模拟程序,包含了gcc和g++),有人说用M
2015-05-12 11:29:15 371
原创 exe调用lib库,lib库又调用了另一个dll 时,lib,dll该怎么放
exe调用lib库,lib库又调用了另一个dll :今天移植一个开源库时碰到的如上标题的问题,不解,于是写了几个测试程序验证了下,OK,一下总结记录下:1、中间过程不管间接调用了几次dll,次dll对应的lib(定位用),dll文件都只需添加在最后的EXE工程中。2、lib工程只需添加其.h文件(保证其编译OK就行)
2015-05-03 20:10:16 805
转载 WM_Paint 消息详解
WM_PAINT是 Windows 窗口系统中一条重要的消息,应用程序通过处理该消息实现在窗口上的绘制工作。1. 系统何时发送WM_PAINT消息?系统会在多个不同的时机发送 WM_PAINT 消息:当第一次创建一个窗口时,当改变窗口的大小时,当把窗口从另一个窗口背后移出时,当最大化或最小化
2015-04-12 18:09:10 491
原创 MFC 基础概念
msdn原文:(几个消息响应函数的解释)OnCreate:The framework calls this member function when an application requests that the windows windows be created by calling the Create or CreateEx member function. The CWnd o
2015-04-12 17:45:20 540
原创 exe ->dll
可执行文件调用DLL库文件:1、静态调用:.h文件、.lib文件、dll文件 .h文件确保导出函数有声明(需导出导入标识),.lib文件确定所导出函数的位置(连接器连接时需要),dll实际的库 (导出导入标识).h文件可如下书写: #ifdef MYLIBAPI #elseif #define MYLIBAPI ext
2015-03-30 00:20:57 414
原创 __stdcall,__cdecl,__fastcall的区别
一、三者区别一览表 __stdcall__cdecl__fastcall参数传递方式右->左 压栈右->左 压栈左边开始的两个不大于4字节(DWORD)的参数分别放在ECX和EDX寄存器,其余的参数仍旧自右向左压栈传送清理栈方被调用函数清理(即函数自己清理
2014-11-02 16:00:34 325
原创 vs创建的几种项目类型
ATL是个模板,用来写COM组件的,如果想学ATL编程,先学习COM编程会大有帮助,因为COM是基础。 WIN32是windows编程,用的是WIN32API函数写程序,WIN32API是微软提供的函数,帮助程序员编写可视化应用程序,如果用纯的WIN32编写程序,就需要从头至尾全部自己编写,需要处理大量细节,这就像用汇编语言写程序和用高级程序写程序一样的意思,但好处是你可以掌控整个世界。
2014-10-28 14:28:57 2382
转载 自定义打印输出函数格式,模拟printf函数
[cpp] view plaincopy/************************************************************* FileName : testPrintfFunction.cpp FileFunc : printf参数模拟 Version : V0.1
2014-08-16 17:22:17 1090
转载 va_start和va_end使用详解
va_start和va_end使用详解 本文主要介绍va_start和va_end的使用及原理。 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。 介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用
2014-08-16 17:17:20 378
转载 7种vc延时方式
VC++七种延时方式VC++七种延时方式 方式一:VC中的WM_TIMER消息映射能进行简单的时间控制。首先调用函数SetTimer()设置定时间隔,如SetTimer(0,200,NULL)即为设置200ms的时间间隔。然后在应用程序中增加定时响应函数OnTimer(),并在该函数中添加响应的处理语句,用来完成到达定时时间的操作。这种定时方法非常简单,可以实现一定的定时功能,但其
2014-04-16 00:36:17 2001
转载 模态对话框与非模态对话的几种销毁方法与区别
此文转自http://renjwjx.blog.51cto.com/811549/191320/前几天发现自己的程序中使用非模态对话框,Debug版本有警告提示如下:Warning: calling DestroyWindow in CWnd::~CWnd OnDestroy or PostNcDestroy in derived class will not be calle
2014-03-30 23:39:35 408
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人