自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects) --代替方法:MsgWaitForMultipleObjects

在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)下面的代码我调试了将近一个星期,你能够看出什么地方出了问题吗?线程函数:  DWORD WINAPI ThreadProc(     while

2011-10-12 20:41:52 1148

转载 BYTE,WORD,DWORD的大小及一些特殊的"高低位宏"

一、定义在VC6.0的Microsoft Visual Studio/VC98/Include/windef.h 里,定义了BYTE,WORD,DWORDtypedef unsigned long       DWORD;typedef unsigned char       B

2011-07-07 23:32:12 3349

转载 大端格式和小端格式存储的区别

大端格式:       在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,如图2.1所示:小端格式:        与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。如图2.2所示:请写一个C函数,若处

2011-07-07 19:22:55 2957

转载 C/C++中对日期和时间操作所用到的数据结构和函数

<br />摘要: <br />本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。 <br />关键字: <br />UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元) <br />1.概念 <br />在C/C++中,对字符串的操作有很多值得注意的问题,

2011-05-27 11:49:00 1093

转载 图像采集卡

<br /> <br />图像采集卡的工作原理、发展历史及在机器视觉系统中的地位<br />ROC先生:目前常用的采集卡主要分图象采集卡和视频压缩卡;图像采集卡按照信号方式分为模拟卡和数字卡;模拟采集卡的 主要功能就是A/D转换和数据传输。国内开发公司主要是大恒、中自、微视三家,应该说大家都是源于一家--中科院自动化所。目前每个公司主要的研究方向还 是图像采集卡,但也开始涉及摄像头等产品。目前广东有很多采集卡生产厂;同时国外的数字图像卡厂家也在生产, 如matrox、EPIX 、Euresys、Coreco

2011-04-04 22:38:00 6872

转载 一种直接采用计算机串行口控制步进电机的新方法

<br /><br />步进电机在数控机床、医疗器械、仪器仪表等自动或半自动设备中得到了广泛应用。用计算机控制步进电机的通常作法是采用步进控制卡,系统构成如图1所示。其中Pulse、Dir分别为控制电机的转动步数和旋转方向的信号;CWL(Clock Wise Limit)、CCWL(Counter Clock Wise Limit)分别为电机顺、逆时针旋转的限位信号;ORG为定位信号。<br />    这种方法不仅成本较高,而且不便于操作。在计算机扩展槽上安装控制卡,必需打开机箱才能操作,而且在小型平板电

2011-04-03 17:51:00 11055 1

转载 MSCHRT20.OCX使用详解

<br /><br />第一步:把MSCHRT20.OCX(下载)和msdatasrc.dll(搜索下系统里有)放在一起,比如D盘根目录下,执行注册控件“regsvr32 D:/MSCHRT20.OCX”。<br />第二步:成功后,在VC++下“工程->增加到工程->Components and Controls”,打开了文件通用对话框,选择“Registered ActiveX Controls->Microsoft Chart Control, version 6.0 (OLEDB)”,控件插入后就可

2010-11-22 09:49:00 8690 2

转载 关于学习C++和编程的50个观点

<br /><br /><Kingofark's 50 Points of View About Learning C++ And Programming><br />Revision 1.0 <br />1.把C++当成一门新的语言学习(和C没啥关系!真的。);<br />2.看《Thinking In C++》,不要看《C++变成死相》;<br />3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是

2010-10-13 08:39:00 697

原创 strcmp, strncmp和memcmp的区别

函数:int memcmp (const void *a1, const void *a2, size_t size)        函数memcmp用于比较字符串s1与s2的前size个字符。       如果两上字符块相同,memcmp将返回0。 函数:int strcmp (const char *s1, const char *s2)        这个函数用来比较s1和s2字符串,这个函数将返回一个值,它的符号与第一对不同的字符的比较结果相关。       如果两个字符串相等

2010-08-21 17:38:00 36219 3

原创 __attribute__ ((packed)) 的作用(转载)

最近在看我们的代码的时候发现声明类型的时候有 __attribute__ ((packed))的结构体类型声明,不知道是什么意思,查了下知道是如下含义: 1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如: 在TC下:struct my{ char c

2010-08-15 23:41:00 908

原创 Windows中注册ActiveX控件的方法(转载)

一般来说,一个外来ActiveX控件要在Windows中被正确使用,首先必须将控件文件(*.OCX)复制到硬盘中,然后将其在Windows中注册,未在Windows中注册过的ActiveX控件是不能使用的。注册ActiveX控件一般来说有三种途径: 1. 使用Regsvr32.exe程序对ActiveX控件进行注册; 2. 使用安装程序制作软件:InstallShield; 3. 在应用程序中加入注册代码。 上述方法适用范围不同,各有各的优点,下面分别讨论。 一、 使用Regsv

2010-07-15 16:15:00 11544

原创 VC6 Debugging with Symbols(转)

今晚上突然跟踪到Windows dll里的相关代码时,突然相当地纠结,因为没有他们的PDB,比如IDA、VC、WinDbg等调试的时候会提示“找不到vc60.pdb"等等信息…… 在MSDN官网无意间找到这样的一种方法,能让它们都有符号表,比如里面的各种变量名、函数名等全部显现出来…… 在系统环境变量表中,增加如下记录: 变量名:_NT_SYMBOL_PATH 变量值:srv*D:/symbols*http://msdl.microsoft.com/download/symbols 这样,

2010-07-15 10:45:00 1130

原创 [zz]内存映射文件,UnmapViewOfFile/MapViewOfFile(转载)

摘要: 本文给出了一种方便实用的解决大文件的读取、存储等处理的方法,并结合相关程序代码对具体的实现过程进行了介绍。 引言 文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC提供的CFile类等。一般来说,以上这些函数可以满足大多数场合的要求,但是对于某些特殊应用领域所需要的动辄几十GB、几百GB、乃至几TB的海量存储,再以通常的文件处理方法进行处理

2010-06-24 23:24:00 1200

原创 vc watch窗口查看指针指向的数组(转载)

假设 int *block; 在watch窗口查看block,看到的是block的地址 用block[0],只能看到一个值 可以用   block,10    来同时查看多个值 用(&block[2]),6  可以查看block[2]到[7] 附watch窗口语法规则   一.格式化数据和表达式赋值语句.     常用变量格式化符(表达式的值后跟逗号,接格式化符,如"(int)0xFFFF,d"):     d,I:有符号的十进制数.     u     :无符号的十进制数.     o   

2010-06-10 11:05:00 1754

原创 Mschart学习(MSchart介绍)

作者:MR_ke  来源:博客园  发布时间:2010-02-25 15:22  阅读:2081 次  原文链接 [收藏] 1.什么是MSChart          Chart: Microsoft Chart Controls for Microsoft .NET Framework 3.5 适用于.NET Framework 3.5 SP1 的ASP.NET和Windows Form图标控制项 开发商: 2007年Dundas 开发出收費的Chart控件     2008/9/8微

2010-06-08 14:15:00 2150

原创 VC 画图原理分析(双缓冲)

用vc 做程序,如何画图是一个大家都很关心,但是却感到很难以理解的问题,因为在mfc的封装之下,没有现成的画图函数供你直接调用,像vb等等里面直接来个 point之类的,常常让人感到无从下手。这两天帮人解决了一个用内存缓冲画图的问题,顺便也就谈谈这些东西,也算是总结。 我先来解释一下在mfc里面很关键的设备环境描述符,也就是所谓的DC(device context)。 还是从历史来看吧,dos时代,我们如果要绘图,必须通过一系列系统函数来启动图形环境(用过turbo pascal或者turbo c的人该

2010-06-08 14:06:00 664

原创 Dialog上的List Control获得焦点时,窗口切换后不显示

发表于:2007-07-20 11:45:38 使用环境和现象都跟http://topic.csdn.net/t/20010509/15/115868.html描述的一样。那里只是说“有时”会出现这种情况,我这里试验的结果是:如果List   Control没有获得焦点,一切正常。只要获得了焦点,无论有没有记录被选中,当用其它窗口覆盖后,或者最小化再恢复,都不会显示了。 我试过很多办法,发现

2010-03-30 15:59:00 2645 1

原创 SystemParametersInfo ( SPI_GETNONCLIENTMETRICS... 在VC 2008 里不能正常工作

NONCLIENTMETRICS ncms = {0} ; ncms.cbSize = sizeof(NONCLIENTMETRICS); int s = sizeof(NONCLIENTMETRICS); BOOL b = SystemParametersInfo (SPI_GETNONCLIENTMETRICS, (int)&s, &ncms, 0); DWORD dw = GetLa

2010-03-30 14:31:00 571

原创 最近文件列表 及 LoadStdProfileSettings

最近文件列表可以让你很方便地打开你以前曾经打开过的文 件,那么,如何为自己的应用程序加入最近文件列表功能呢? 最简单的方法就是在你新建工程的时候选择包含最近文件列 表功能,也就是在 MFC AppWizard 的第 4 步的时候使 “How  many files would you like on your recent file list?” 的 值不为 0 即可。

2010-03-19 16:34:00 854

原创 SetRegistryKey的作用(转载)

  在利用mfc框架的时候,在App应用类的InitInstance()函数中,初始化时总有一个 SetRegistryKey("字符串XXX"),不知道究竟有何用处,这天仔细查看了一下,发现如果你使用注册表,则它为你提供了很便利的方法,当然如果不使用系统注册表,这句可以注释掉。 以下是我在网上找到的一些资料: SetRegistryKey Causes application set

2010-03-19 16:32:00 3796

原创 格式化字符串(转载)

scanf() 函数是通用终端格式化输入函数,它从标准输入设备(键盘)读取输入的信息。         可读入任何固有类型的数据并自动把数值变换成适当的机内格式。         scanf()函数返回成功赋值的数据项数,出错时则返回EOF。         其控制串由三类字符构成:1。格式化说明符;2。空白符;3。非空白符; 其调用格式为:   scanf("",); 格式

2010-03-03 09:37:00 1819

原创 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。

转载: 今天在准备发布用VS2005写的那个程序时,拷贝到我同事机器上,双击突然出现了“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题“,这个问题很让我意外,以前只出现过缺少DLL的情况,而这次出现这个问题,让我一时没办法。想想,无非是两个原因引起的,要么是他没有安装VS2005的原因,要么是我的程序里依赖了其它的一些库。于是百度一下,发现好多相关主题。我是按照

2010-03-02 15:38:00 617

原创 vc watch窗口查看指针指向的数组(转)

http://blog.csdn.net/minidick/archive/2009/01/12/3763613.aspx 假设 int *block; 在watch窗口查看block,看到的是block的地址 用block[0],只能看到一个值 可以用   block,10    来同时查看多个值 用(&block[2]),6  可以查看block[2]到[7] 附watch窗口语

2010-03-02 14:53:00 650

原创 必须掌握的八个cmd 命令(转载)

一,ping 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮

2010-01-28 10:09:00 420

原创 循序渐进实现仿QQ界面(四):圆形按钮与工具栏自绘(转载)

这一篇本来应该演示如何实现仿QQ界面的中间客户区与底部工具栏,不过在实现底部工具栏的时候发现圆形按钮与工具栏自绘有不少取巧的方法,因此加插这么一篇,讲解一下如何实现圆形按钮和工具栏自绘。 前面几篇都是在讲解如何实现QQ顶部的标题栏,是用窗口贴图实现,也讲到底部区域会用不同的方法实现,因此这里底部的QQ按钮和工具栏不是在主窗口上画图了,而是用控件实现。并且这里讲解的方法不局限于使用RingSD

2010-01-28 09:57:00 691

原创 BCD码、十六进制与十进制互转(转载),其他转换

转自 http://blog.csdn.net/zsm180/archive/2008/11/20/3342324.aspx在做嵌入式软件的设计中,经常会遇到十六进制、BCD码与十进制之间的转换,最近做M1卡的应用中,涉及了大量的十六进制、BCD码与十进制之间的转换。笔者通过对BCD码、十六进制 权的理解,轻松的实现了他们之间的互换。#include #include ////

2010-01-26 10:38:00 3399

转载 恢复启动项-bcdedit命令和easyedit工具

利用BCDEdit命令编辑Vista的启动菜单BCDEdit是一个命令行工具,该文件(Bcdedit.ext)位于"/windows/system32"目录下。选择“开始-程序-附件-命令提示符”,然后在其上面单击右键,选择“以管理员身份运行”,以管理员的身份打开命令行窗口。在命令提示后面输入“bcdeit”命令及其参数即可使用此工具。通过bcdedit,我们可以添加、删除及修改BCD的启动设

2010-01-21 23:58:00 7275

转载 试用GOOGLE PROTOCOL BUFFERS( 比XML快20~100倍, 支持序列化数据 )

使用指南可以看这篇文章介绍:http://www.cppblog.com/liquidx/下载Protocol Buffers:http://code.google.com/p/protobuf/downloads/list在vc环境下使用则在解压缩文件中有一个vsprojects文件夹, 使用vs来编译出libprotobuf.lib,libprotoc.lib设置你的扩展头文件包含目录

2010-01-21 17:21:00 776

转载 Google protocol buffer程序书写小结

首先、使用protocol buffer语言格式定义文件结构,并用文本编辑器编辑,保存扩展名为.proto格式的文件。格式参照:http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/proto.html其次、对定义好的文件使用protoc进行编译,生成对应的.cc和.h文件。将这两个文件拷贝到自己的工程目录,并手动添加到项目

2010-01-21 17:02:00 856

提示
确定要删除当前文章?
取消 删除