- 博客(34)
- 资源 (7)
- 收藏
- 关注
转载 CComPtr用法
原文链接 http://www.cnblogs.com/howareyou586/archive/2008/11/18/1335969.htmlCComPtr用法COM接口指针很危险,因为使用过程中需要每一个使用者都要严格并且正确的AddRef和Release,一旦出现问题,就会造成对象不能被正常释放,或者对象被重复删除,造成程序崩溃。所以使用COM接口,必须小
2013-02-21 15:35:56 555
转载 SetCapture捕获鼠标 ,转换获取的坐标
转载自:http://hi.baidu.com/flyin_thewind/item/5d501f271734be16087508a9SetCapture()可以让指定的窗体捕获所有鼠标消息,但所有的坐标获取的地方 都需要转型例如在 WM_MOUSEMOVE WM_XBUTTONDOWN(UP) 由 lParam 获取坐标 LONG x,y;x = LOWORD(lParam);
2012-11-01 13:20:07 1707 1
原创 模态对话框响应对话框外的鼠标点击事件
模态对话框响应对话框外的鼠标点击事件在模态对话框中设鼠标全局钩子,并在回调函数 static LRESULT CALLBACK MouseHook(int n_code, WPARAM w_param, LPARAM l_param);中做响应处理。在模态对话框中下好全局钩子后,当在模态对话框中点击鼠标时,w_param的值为WM_LBUTTONUP、 WM_LBUTTONDBLCLK、W
2012-09-01 16:27:23 2804
转载 获取本机物理网卡,排除虚拟机
BOOL IsLocalAdapter(char *pAdapterName){const char NET_CARD_KEY[] = "System\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}";BOOL ret_value = FALSE;char szDataBuf[
2012-04-05 10:57:17 1767
转载 宏、函数、宏函数的区别
http://hi.baidu.com/pobenliu/blog/item/3e458208279486a32fddd43f.html宏、函数、宏函数的区别先说宏和函数的区别:1. 宏做的是简单的字符串替换(注意是字符串的替换,不是其他类型参数的替换),而函数的参数的传递,参数是有数据类型的,可以是各种各样的类型.2. 宏的参数替换是不经计算而直接处理的,而函数调用是
2012-02-19 13:32:22 14960 1
转载 placement new
http://hi.baidu.com/bellgrade/blog/item/625dbd12985e80976538dbe1.htmlplacement new 在一块已分配内存上创建对象2011-05-10 11:09 placement new 是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和oper
2012-02-17 14:00:45 547
原创 自定义的Trace
#include #include //用到va_start va_end//#define NDEBUG //关闭调试//借助vprintf实现的Traceinline void Trace(char* format, ...){ #ifndef NDEBUG va_list ap; va_start(ap, format);
2012-01-08 15:58:30 753
转载 struct tm 和 time_t 时间和日期的使用方法(转)
struct tm 和 time_t 时间和日期的使用方法(转)http://www.cnblogs.com/hhpjxbk/archive/2009/10/06/1578385.html 关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念在C/C++中,对字符串的操作有
2011-11-24 11:10:27 532
转载 time_t和tm互换
time_t mktime(struct tm *tm);struct tm *gmtime(const time_t *timep);struct tm *gmtime_r(const time_t *timep, struct tm *result);struct tm *localtime(const time_t *timep);struct tm *localtime_r
2011-11-23 17:00:05 490
转载 类在内存中的分配问题
http://blog.csdn.net/eric491179912/article/details/6179909一个类,有成员变量:静态与非静态之分;而成员函数有三种:静态的、非静态的、虚的。那么这些个东西在内存中到底是如何分配的呢?以一个例子来说明:view plain"font-size:16px;"> class CObject
2011-11-05 15:17:27 472
转载 STL各种容器的区别
http://wenku.baidu.com/view/7d39e874a417866fb84a8e13.html容器名名称数据结构性能备注string通用字符串库连续存放的内存块、有保留内存堆中分配内存高效率的随机访问;O(1)的访问时间;在
2011-11-04 21:10:54 999
转载 虚函数、虚表原理
http://bbs.chinaunix.net/archiver/?tid-1711337.html理解虚函数( virtual function )的几个关键点:1. 理解早绑定(early binding)、晚绑定(late binding)。所谓early binding:On compile time,就能明确一个函数调用是对哪个对象的哪个成员函数进行的,即编译时
2011-11-02 14:18:02 1422
转载 网络字节序与主机字节序
网络字节序与主机字节序http://www.cnblogs.com/jacktu/archive/2008/11/24/1339789.html不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序 最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE li
2011-11-01 22:29:33 461
转载 一劳永逸的解决mysql存储和读取中文乱码的问题
一劳永逸的解决mysql存储和读取中文乱码的问题关于MYSQL存储中文乱码今天用MYSQL存储文本时,发现只能存数字和英文,存储中文的话就全是问号(?),我找到了一个解决办法,所以来分享一下:就是在创建数据库的时候要把数据库的碥码也设置好,而之后在创建表,项的时候就不用指定了,因为它们会从上一级继承,CREATE DATABASE $dbname DEFAULT CHARA
2011-10-28 14:31:23 1029
转载 TCP状态迁移
TCP状态迁移原文链接 http://blog.chinaunix.net/space.php?uid=11988184&do=blog&cuid=2337427大家对netstat -a命令很熟悉吧,但是,你有没有注意到STATE一栏呢,基本上显示着esta
2011-10-18 09:00:44 451
转载 深入C++的new
深入C++的new原文链接 http://www.builder.com.cn/2008/0104/696370.shtml“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做
2011-10-14 15:13:21 537
转载 全局变量可不可以定义在可被多个.C文件包含的头文件中?
全局变量可不可以定义在可被多个.C文件包含的头文件中?原文链接 http://hi.baidu.com/fukai5/blog/item/dbf102fd705836e7fd037ff2.html最近在学习uC/OS操作系统,对其中定义的全局变量产生了好奇。作者
2011-10-14 14:52:51 9899 1
转载 C语言编译过程详解
C语言编译过程详解原文链接 http://tech.c114.net/175/a472966.htmlC语言的编译链接过程是要把我们编写的一个C程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目
2011-10-14 13:05:53 699
转载 如何限制一个类对象只在堆上分配或者只在栈上分配?
引用自http://blog.csdn.net/wonengxing/article/details/68629711 在C++中如何限制一个类对象只在堆上分配?仿照设计模式中的单实例模式或者工厂模式来解决,这里采用单实例模式方式来说明。将类的构造函数
2011-10-12 23:40:14 2655
原创 借助大顶堆实现筛选前N个最小值
#include #include #include //heap[0]不用,数据从下标1开始存放,(targetPos,endPos]的数据已初始化为大顶堆void HeapAdjust(int* heap, int targetPos, int endPo
2011-10-12 17:39:29 1343
原创 KMP+求字串位置
#include #include void GetNext(const char *str, int *next){ assert(str && next); int i = 0; int j = -1; next[0]
2011-10-12 15:20:53 438
转载 C++信号量Semaphore和MFC中的CSemaphore类使用【转】
<br /><br />C++信号量Semaphore和MFC中的CSemaphore类使用【转】<br />2009-11-05 11:46<br />信 号量(Semaphore)内核对象对线程的同步方式与前面几种方法不同,它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最 大线程数目。在用CreateSemaphore()创建信号量时即要同时指出允许的最大资源计数和当前可用资源计数。一般是将当前可用资源计数设置为最 大资源计数,每增加一个线程
2011-06-02 20:15:00 479
转载 socket 中send 和recev函数详解
socket 中send 和recev函数详解 转载自http://blog.sina.com.cn/s/blog_62274fd70100g5od.html<br /><br />int send( SOCKETs, const char FAR*buf, intlen, int flags ); <br />不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。<br />客户程序一般用send函数向服务器发送请求,而服务器则通常用
2011-05-28 16:21:00 906
转载 stl之list使用
stl之list使用<br />http://peirenlei.iteye.com/blog/505497<br /> <br />STL中list的使用:<br /> <br />STL中的list就是一双向链表,可高效地进行插入删除元素。现总结一下它的操作。<br />文中所用到两个list对象c1,c2分别有元素c1(10,20,30) c2(40,50,60)。还有一个list<int>::iterator citer用来指向c1或c2元素。<br /> <br />list对象的声明构造():
2011-05-26 16:48:00 325
转载 stl之vector使用
stl之vector使用 http://peirenlei.iteye.com/blog/505499<br /><br />介绍<br />这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。<br /> <br />Vector总览<br />vector是
2011-05-26 16:46:00 335
转载 STL+map的使用方法
转载自:http://peirenlei.iteye.com/blog/518666STL map的使用方法关键字: stl map 用法一 map内部数据的组织map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排
2011-05-26 16:45:00 603
转载 C++信号量Semaphore和MFC中的CSemaphore类使用【转】
<br /><br />C++信号量Semaphore和MFC中的CSemaphore类使用【转】<br />2009-11-05 11:46<br />信 号量(Semaphore)内核对象对线程的同步方式与前面几种方法不同,它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最 大线程数目。在用CreateSemaphore()创建信号量时即要同时指出允许的最大资源计数和当前可用资源计数。一般是将当前可用资源计数设置为最 大资源计数,每增加一个线程
2011-05-24 21:30:00 8467
转载 光标定位和获取当前光标位置
<br />#include <stdio.h><br />#include <windows.h><br /> <br />void gotoxy(int x, int y) <br />{ <br /> COORD c; <br /> c.X = x ; <br /> c.Y = y ; <br /> SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
2011-04-10 15:42:00 1831
转载 光标定位
#include <windows.h>#include<stdio.h>void gotoxy(int x, int y) { COORD c; c.X = x - 1; c.Y = y - 1; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); } int main(){ int x,y;
2011-04-10 15:02:00 456
转载 Windows本身自带的netstat命令
<br />原文链接:http://tieba.baidu.com/f?kz=817278111<br />Windows本身自带的netstat命令 <br />Netstat <br />显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。 <br />netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval] <br />参数 <br /><br />-a -显示所有连接和侦听端口
2011-04-08 20:44:00 538
转载 vc++6.0 IDE配置详解
<br />原文链接:http://hi.baidu.com/winnyang/blog/item/5ba4b32a4e3dba3e5243c139.html<br /> <br />大家可能一直在用VC 开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁 可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其 事,必先利其器”
2011-04-08 14:55:00 2340
转载 LNK2001 VC++
原文链接: http://hi.baidu.com/colorfulweiwei/blog/item/984a6cb5873954c737d3ca2a.html 学习VC++时经常会遇到链接错误LNK2001,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使 人不明其所以然。产生LNK2001错误的原因:一个是由于编码错误导致的LNK2001,在这不想详细说.另一个由于编译和链接的设置而造成的 LNK2001.最经常发生的是:"LIB
2011-04-08 14:28:00 636
转载 windows cl命令
<br />原文地址:http://apps.hi.baidu.com/share/detail/22429857<br />cl.exe是一个编译工具。CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。<br />注意,所有编译器选项都区分大小写。<br />用法如下:<br />CL [option...] file... [opt
2011-04-07 18:43:00 662
转载 VC工程下的各种后缀文件
* DSW:全称是Developer Studio Workspace,最高级别的配置文件,记录了整个工作空间的配置信息,她是一个纯文本的文件,不可丢失或损坏,在vc创建新项目的时候自动生成 * DSP:全称是Developer Studio Project,也是一个配置文件,不过她记录的是一个项目的所有配置信息,纯文本文件 * OPT:与DSW、DSP配合使用的配置文件,她记录了与机器硬件有关的信息,同一个项目在不同的机器上的opt文件内容是不同的 * CLW:记录了跟Cla
2011-04-07 18:29:00 518
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人