VS2005
文章平均质量分 64
你来吻
能够使用VC和CBC VS2005编辑软件,能够使用CCS开发DSP。能够使用PB编写wince 驱动,能够使用ADS。
有一个漂亮的媳妇和一个可爱的女儿。
就这么简单。
每天要看一篇旧的日志,每天睡前要想想今天做了什么。明天的简单计划是什么?
展开
-
WinCE将HDC保存为BMP文件
<br />HDC在MSDN中的全称为:The handle of device context。通常,我们都是用来做相应的显示操作。<br />熟悉WIN32的朋友对于其应该不会陌生,经常采用GetDC,GetWindowDC等等来获取其句柄。而用得最多的,可能就是BeginPaint,如:case WM_PAINT: HDC hdc = BeginPaint(hWnd,&ps); ... EndPaint(hdc,&ps); break; <br />使用起来非转载 2010-12-15 10:50:00 · 1021 阅读 · 0 评论 -
恢复VS2005加载设计窗体失败
恢复VS2005加载设计窗体失败从 WINNT/MicroSoft.NET/Framework/v2.0.xxx 复制文件gdiplus.dll 到 Program Files/Visual Studio 8/Common7/Packages文件夹下在命令行下运行命令 :devenv /resetskippkgs原创 2010-10-27 14:12:00 · 533 阅读 · 0 评论 -
Visual Studio2005 工具选项“加载此属性页时出错”的解决办法
问题:Visual Studio 2005 配置SDK时提示出错。打开Visual Studio 2005 的工具>选项>设备工具时提示:“加载此属性页时出错!”处理方法:1、在“Visual Studio 2005 命令提示”中运行:devenv /ResetSkipPkgs2、重启vs2005,打开vs 2005的工具中的选项,就OK了。devenv命令介绍:Devenv 可用来设置集成开发环境 (IDE) 的各个选项,以及从命令行生成、调试和部署项目。使用这些开关从脚本或 .bat 文件(例如每夜生成转载 2010-10-27 14:12:00 · 890 阅读 · 0 评论 -
vs2005 添加 include路径
<br />vs2005 添加 include路径在项目菜单下的属性目录中的C++常规选项下的附加包含路径!原创 2010-10-29 15:55:00 · 2371 阅读 · 0 评论 -
wince 加载JPG问题 引
MFC提供的CWnd只有默认加载BMP文件的接口,对JPG等图像是不支持。加载.JPG格式的图片,有两种方法,用流对象+IPicture接口加载;IImage接口加载。原创 2010-11-01 09:18:00 · 635 阅读 · 0 评论 -
C++中extern “C”含义深层探索及extern用法详解
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。 2.从标准头文件说起 某企业曾经给出如下的一道面试题: 面试题 为什么标准头文件都有类似以下的结构?原创 2010-10-29 14:30:00 · 949 阅读 · 0 评论 -
关于fatal error C1853: 'Debug/TrafficDet.pch' is not a precompiled header file created with this compiler
<br />以前也常常碰到这样的问题。今天决定去解决它,就找了找网上的资料,顺便自己试验了一下。<br />网上资料讲解:<br /> (1)在菜单栏里的工程 -> 设置 -> C/C++ 中,预编译的的头文件选项卡,选择“不使用预补偿页眉”单选项就可以了。不过这种方法的缺点是以后每次编译都会比较慢。<br /> (2)由于在大的工程里,有一些头文件经常使用,往往就会导致这样的编译错误。解决办法是把这些经常使用的头文件写入一个文件(比如precompile.h)里,就如MFC程序里的stdAfx.h一原创 2010-10-29 16:08:00 · 5886 阅读 · 0 评论 -
VC如何问题集锦(不断更新中...)
<br />1.在MFC中如何获得一个CBitmap的宽和高?<br />BITMAP bmp;<br />bmpIamge.GetBitmap(&bmp);<br />int nWidth = bmp.bmWidth;<br />int nHeight = bmp.bmHeight; <br />2.如何修改这个CBitmap的大小?<br />CBitmap是不能重复使用CreateCompatibleBitmap创建的,需要先释放原来的Bitmap Object 。<br /> <br />原创 2010-11-01 14:53:00 · 424 阅读 · 0 评论 -
解决Windows 程序界面闪烁问题的一些经验
<br />一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。<br />先来谈谈闪烁产生的原因<br />原因一:<br />如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕<br />上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。<br />一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的。<br />这样问题就来了,一般画图都是先画背景色,然后再把内容画上去,如果转载 2010-11-01 20:44:00 · 404 阅读 · 0 评论 -
双缓冲技术绘图及GDI简单截屏
当数据量很大时,绘图可能需要几秒钟甚至更长的时间,而且有时还会出现闪烁现象,为了解决这些问题,可采用双缓冲技术来绘图。 双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度。双缓冲实现过程如下: 1、在内存中创建与画布一致的缓冲区 2、在缓冲区画图 3、将缓冲区位图拷贝到当前画布上 4、释放内存缓冲区 在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAIN原创 2010-11-01 20:45:00 · 1062 阅读 · 0 评论 -
CRect之DeflateRect及CPaintDC, CClientDC与CWindowDC区别
void DeflateRect(int x,int y); void DeflateRect(SIZE size); void DeflateRect(LPCRECT lpRect); void DeflateRect(int l,int t,int b); 参数: x 指定要向左或向右移动CRect边的数量 y 指定要向上或向下移动CRect边的数量 size 指定CRect移动数量的SIZE或CSize。 cx 指定移动左右边的数; cy 指定移动上下边的数;原创 2010-11-01 21:25:00 · 1379 阅读 · 0 评论 -
关于 GDI PS_INSIDEFRAME
<br />“PS_INSIDEFRAME 创建一支画笔,该画笔在Windows GDI输出函数所产生的封闭形状的框架内画线,此输出函数指定一个限定矩形(例如,Ellipse,Rectangle,RoundRect,Pie和Chord成员函数),当此风格用于没有指定限定矩形的Windows GDI输出函数(例如LineTo成员函数)时,此画笔的绘制区域不受框架的限制。”<br /> <br />关于 PS_INSIDEFRAME 这个话题,google了一下,发现问的人很多,回答得人都是用MSDN原话解释原创 2010-11-01 20:50:00 · 871 阅读 · 0 评论 -
GetSystemMetrics详解
<br />概述<br /> GetSystemMetrics () <br /> 用于得到被定义的系统数据或者系统配置信息.<br />语法<br />int WINAPI GetSystemMetrics( __in int nIndex); <br /> 下面是GetSystemMetrics函数参数nIndex的定义: <br /> SM_ARRANGE 标志用于说明系统如何安排最小化窗口..详细请参看下方备注.: <br /> 根据显示器显示的不同,系统数据可能有所不同. <br /> 该原创 2010-11-02 09:00:00 · 3638 阅读 · 0 评论 -
全区间积分的哈明方法(常微分方程组的求解)
/*代码作者:不详代码整理者:设计天下 MySDN网站 算法天下工作室功能:全区间积分的哈明方法(常微分方程组的求解)*/#include "stdio.h"#include "stdlib.h"#include "math.h"/*全区间积分的定步长欧拉方法*//*全区间积分的维梯方法*//*全区间积分的定步长龙格-库塔方法*/typedef struct _fode { int n; /*微分方程组中方程个数,也是未知函数的个数*/ int steps; /*积分原创 2010-12-28 14:03:00 · 1046 阅读 · 0 评论 -
全区间积分的双边法(常微分方程组的求解)
/*代码作者:不详代码整理者:设计天下 MySDN网站 算法天下工作室功能:全区间积分的双边法(常微分方程组的求解)*/#include "stdio.h"#include "stdlib.h"#include "math.h"/*全区间积分的定步长欧拉方法*//*全区间积分的维梯方法*//*全区间积分的定步长龙格-库塔方法*/typedef struct _fode { int n; /*微分方程组中方程个数,也是未知函数的个数*/ int steps; /*积分步转载 2010-12-28 14:03:00 · 943 阅读 · 1 评论 -
全区间积分的定步长欧拉方法(常微分方程组的求解)
/*代码作者:不详代码整理者:设计天下 MySDN网站 算法天下工作室 LS代号: _MySDN_SFTX_LS网址:http://www.my-sdn.net功能:全区间积分的定步长欧拉方法(常微分方程组的求解)*/#include "stdio.h"#include "stdlib.h"/*全区间积分的定步长欧拉方法*//*全区间积分的维梯方法*//*全区间积分的定步长龙格-库塔方法*/typedef struct _fode { int n; /*微分方程组中方程个数,也是未知原创 2010-12-28 14:04:00 · 3683 阅读 · 0 评论 -
一元线性回归分析
/*代码作者:不详代码整理者:设计天下 MySDN网站 算法天下工作室功能:一元线性回归分析*/#include "stdio.h"#include "math.h"void liregression_lis(double x[],double y[],int n,double a[],double dt[]){ int i; double ax,ay,e,f,q,u,p,umax,umin,yy; for (i=0,ax=ay=0.0; i { ax+=x[i]; ay+=y[i]; } a转载 2010-12-28 14:00:00 · 1020 阅读 · 0 评论 -
对数数据相关
/*代码作者:不详代码整理者:设计天下 MySDN网站 算法天下工作室功能:对数数据相关*/#include "math.h"#include "stdio.h"void fittingln_lis(int n,double x[],double y[],double a[]){ int i; double ax,ay,dx,dy,u; for (i=0,ax=ay=0.0; i { ax+=log(x[i]); ay+=log(y[i]); } ax/=n; ay/=n; for (i=转载 2010-12-28 14:01:00 · 553 阅读 · 0 评论 -
多元线性回归分析
/*代码作者:不详代码整理者:设计天下 MySDN网站 算法天下工作室功能:多元线性回归分析*/#include "math.h"#include "stdio.h"#include "stdlib.h"typedef struct _rmatrix { int row; /* 行数 */ int col; /* 列数 */ double *data; /* 数据区 */} RM, *RMP; /* RM: 实矩阵类原创 2010-12-28 14:02:00 · 968 阅读 · 0 评论 -
全区间积分的阿当姆斯预报校正法(常微分方程组的求解)
/*代码作者:不详代码整理者:设计天下 MySDN网站 算法天下工作室功能:全区间积分的阿当姆斯预报校正法(常微分方程组的求解)*/#include "stdio.h"#include "stdlib.h"#include "math.h"/*全区间积分的定步长欧拉方法*//*全区间积分的维梯方法*//*全区间积分的定步长龙格-库塔方法*/typedef struct _fode { int n; /*微分方程组中方程个数,也是未知函数的个数*/ int steps;转载 2010-12-28 14:03:00 · 2471 阅读 · 0 评论 -
随机样本分析
/*代码作者:不详代码整理者:设计天下 MySDN网站 算法天下工作室功能:随机样本分析*/#include "math.h"#include "stdio.h"#define UNUM 50 /*一个输出单元代表的样本点数*/void rndsplanalysis_lis(double x[],int n, double x0,double h,int m,int l, double dt[],int g[],int q[]){ int i,j,k,t; double s; char c原创 2010-12-28 14:05:00 · 794 阅读 · 0 评论 -
Socket编程指南及示例程序
前言在一些常用的编程技术中,Socket网络编程可以说是最简单的一种。而且Socket编程需要的基础知识很少,适合初学者学习网络编程。目前支持网络传输的技术、语言和工具繁多,但是大部分都是基于Socket开发的,虽说这些“高级”的网络技术屏蔽了大部分底层实现,号称能极大程度的简化开发,而事实上如果你没有一点Socket基础,要理解和应用这些技术还是很困难的,而且会让你成为“半瓢水”。 深有感触的是当年我学习CORBA的时候,由于当时各方面的基础薄弱,整整啃了半年书,最终还是一头雾水。如果现在让我带一个人学C转载 2010-12-28 15:04:00 · 902 阅读 · 0 评论 -
char与wchar_t函数对照表
<br />// ANSI string functions, originally from STRING.H<br />size_t __cdecl strlen(const char *);<br />int __cdecl strcmp(const char *, const char *);<br />char * __cdecl strcat(char *, const char *);<br />char * __cdecl strcpy(char *, const char *);<b原创 2010-12-30 13:48:00 · 1100 阅读 · 0 评论 -
查找网卡 并自动设置IP地址---不重启Windows更改IP地址的多种实现
首先需要包括如下文件及代码:#include "Iptypes.h"#include "Iphlpapi.h"#include "Winsock2.h"#pragma comment(lib, "Iphlpapi.lib")typedef int (CALLBACK* DHCPNOTIFYPROC)(LPWSTR, LPWSTR, BOOL, DWORD, DWORD, DWORD, int);1、获取适配器名称 这里指的适配器名称要区别于适配器描述,比如我的一块网卡,适配器描述是:Realtek RTL原创 2010-12-30 16:11:00 · 5938 阅读 · 0 评论 -
MFC socket程序开发
Socket编程在大多数的编程语言中都是一件比较有趣的事情。它是比较常用的编写通过网络通信的服务器和客户端方法。在windows平台Socket通信大多是基于MS Winsock设计的。Windows支持基于TCP和UDP的socket通信。Windows APIs在socket编程中是非常有用的,但是有些人发现在用它们工作的时候有困难。所以在这里我介绍一种最简单用MFC socket类进行socket编程的方法。这不仅可以使你的工作变得简单而且能减少你在网络程序上的开发时间。你可以定制一个socket类,转载 2010-12-28 15:05:00 · 2228 阅读 · 0 评论 -
MFC socket编程 网络五子棋详解
一,序言 大四了,这学期也没有课,实在无聊,这整天在寝室里面待着也实在无聊啊,于是就想起了实现一个网络的五子棋,也算四对自己在VC++编程的一个熟练,同时以前对socket编程不是很了解,也可以通过这个机会学习加深.因为在编写过程中自己遇到了一些问题,也通过了网络和书籍自己解决了,最后也想通过这篇文章和大家分享一些经验,希望对初学socket编程的人有帮助.二,五子棋设计 我们实在MFC中用单文档来完成我们的程序. (1),我们定义一个二维数组来存储棋子:Node[20][20],并且初始转载 2010-12-28 15:06:00 · 7466 阅读 · 81 评论 -
IP Helper API 简介
<br />IP Helper API 简介<br /> <br /> <br />其中最主要的两个函数是GetNumberOfInterfaces和GetInterfaceInfo,前者指出网络接口的个数,后者提取网络接口的信息。对于第一个函数要说明的一点是它好象并没有返回正确的值,因为据MSDN描述:一个网络接口是网卡的逻辑抽象,它们是一对一的关系。而实际情况是我的机器上只有一张网卡,这个函数却返回了2。实际上,因为每个系统都附加有一个调试用的网络接口,这个接口的IP地址是127.0.0.1子网掩码是转载 2010-12-30 16:17:00 · 2571 阅读 · 0 评论 -
USB通讯
<br />1、端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)<br />2、帧:时间概念,在USB中,一帧就是1MS,他是个单独的单元,包含了一系列总线动作,USB将1帧分为好几份,每一份中是个USB的传输动作。<br />3、上行、下行:设备到主机为上行,主机到设备为下行<br />下面以一问一答的形式开始学习吧。<br />问题一:USB的传输线结构是如何的呢?<br />答案转载 2010-11-08 14:21:00 · 1163 阅读 · 2 评论 -
内存泄漏,当您使用的 GetDC 方法和 ReleaseDC 方法 CWnd 类版本
重现行为的步骤<br />是从 CWnd 派生的类的一个方法中插入下面的代码在您的应用程序中: CDC *pDC; RECT rect; GetClientRect (&rect); for (int i = 0; i < 1000; i++) { pDC = GetDC (); ReleaseDC (pDC); }<br />如果运行此代码,并且之前和之后运行该代码然后检查系统内存您注意到系统内存泄漏原创 2010-11-08 14:32:00 · 1768 阅读 · 0 评论 -
VC线程同步方法
<br />VC MFC中线程同步对象的区别 <br />临界区 CCriticalSection,在用户模式工作,适用于保护线程间共享资源,一个线程可以多次Lock不会出错。不支持在多进程之间工作。<br /><br />互斥量 CMutex,在内核模式工作,除了支持临界区的功能,还可以为互斥量命名,以便在多进程中工作。互斥量比临界区耗资源。<br /><br /> 事件 CEvent,在内核模式工作,适用于一个线程等待另一个线程完成某任务。<br /><br />信号量转载 2011-01-03 11:07:00 · 5910 阅读 · 1 评论 -
CStringList用法
<br />MFC提供集合类(Collect)专门负责数据对象的存储和管理,MFC的集合类分为三类,分别用于处理三类不同性质的数据结构:表(List,类似于数据结构的双链表),数组(Array)和映射(Map,具有类似字典的功能). <br />一,数组使用心得 <br />原型: template< class TYPE, class ARG_TYPE > class CArray : public Cobject <br />简单地说是你输入的时候用ARG_TYPE类,输出的时候用TYPE,自动实现转换原创 2010-11-11 14:58:00 · 9428 阅读 · 1 评论 -
error : Please use the /MD switch for _AFXDLL builds 的解决方法
<br />error : Please use the /MD switch for _AFXDLL builds 的解决方法在用vs打开evc项目后,编译的时候出现“Please use the /MD switch for _AFXDLL builds”这个错误,查了下资料,找到解决方法,方法如下: 修改如下设置:工程->属性->配置属性->c/c++->代码生成->运行时库->多线程调试DLL(/MDd)原创 2010-11-17 08:57:00 · 33432 阅读 · 4 评论 -
WinCE中用IImage如何旋转JPG图片
//JPG图片旋转功能void CImagingDemoDlg::OnBnClickedRotate(){// TODO: 在此添加控件通知处理程序代码HRESULT hr ; //返回结果IImagingFactory * pImagingFactory =NULL; //Image工厂接口对象IImage * pImage = NULL,* pNewImage = NULL; //Image接口对象;新的IImage图像IBitmapImage * pbmpImg = NULL,* pNewbmpImg转载 2010-11-17 09:40:00 · 1899 阅读 · 0 评论 -
wince Vs2005下SHBrowseForFolder用法
添加 文件头#include "Shlobj.h"// CDiagnosParamDlg 对话框#pragma comment (lib,"Ceshell.lib")使用wchar_t dir[200]; BROWSEINFO bi; bi.hwndOwner=NULL; bi.pidlRoot=NULL; bi.pszDisplayName=L"选择诊断文件"; bi.lpszTitle=L"DD"; bi.ulFlags=0; bi原创 2011-01-12 14:15:00 · 1463 阅读 · 1 评论 -
CRadio分组方法和默认选择
<br />如何使用多组?<br />多组和一组是一样的使用,只要搞清楚哪个是哪一组的就行了。<br />我想要Radio1与Radio2一组,Radio3和Radio4一组。<br />先为这些Radio Button排个顺序,就是排列他们的TAB ORDER。<br />在对话框资源面板上Ctrl+D,然后按你自己的理想顺序用鼠标逐个点击就可以了。<br />不妨假设Radio1、Radio2、Radio3、Radio4分别是1、2、3、4。<br />Radio1和Radio3都选上Group属性原创 2011-01-14 10:28:00 · 1393 阅读 · 0 评论 -
CString 截取
<br />文件xxxx.dll去掉后面的.dll<br />方法1、<br />char str[] = "xxxx.dll"<br />char*p;<br />p=strrchr(str, '.');<br />*p = 0;<br />方法2、<br />CString str="xxxx.dll";<br />int n = str.ReverseFind('.')<br />str = str.Left(str.GetLength()-n-1);<br />例程2:(csdn)<br />取得一转载 2011-01-13 15:22:00 · 1982 阅读 · 0 评论 -
create与oncreate的区别
OnCreate 在view类中,create 是虚函数由框架调用,是用来“生成一个窗口的子窗口”。 <br /> oncreate 消息响应函数,是用来“表示一个窗口正在生成”。<br /> 某个CWnd的Create函数由当前CWnd的Owner调用, 而在CWnd::Create中,又会调用OnCreate函数,但是实际上这个时候Create函数还没有退出,CWnd的某些部分还没有创建好。所以,在ToolBar::OnCreate中,不能调用CommandToIndex,因为CommandToI转载 2010-11-25 11:23:00 · 5630 阅读 · 1 评论 -
WinCE下开发程序常见问题
<br />一. wince中,如何根据进程名称获得该进程ID<br />DWORD GetProcessID(CString name)<br />{<br /> HANDLE procSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);<br /> if(procSnap == INVALID_HANDLE_VALUE)<br /> {<br /> printf("CreateToolhelp32Snapshot转载 2011-02-24 11:28:00 · 1177 阅读 · 0 评论 -
关于VS2005远程工具的一点说明
<br />用过VS2005的人都知道,它提供了两套远程工具软件,一个可从VS2005的菜单"Target”——"Remote Tools”打开,而另一个在“开始”菜单——"Microsoft Visual Studio 2005”——"Visual Studio Remote Tools”下。很早以前,在《单机搭建WinCE开发环境(续)》中对两套远程工具做了对比,当时只看到了一点表象,没有看到更深层次的东西,今天在这里做一个补充说明。<br /> 这两套远程工具是基于两种不同的链接层实现的,它转载 2011-02-08 08:54:00 · 756 阅读 · 0 评论 -
WinCE6.0中应用程序如何直接访问物理空间
<br />在实际开发过程中,经常希望能在应用程序中直接读写设备的物理空间。以前在做WinCE6.0下的MEMMgr时通过秘密加载一个内核态驱动实现了这个需求。但这种方式有一个明显的缺陷,每次读写都必须经由它才能完成。如果只是读取GPIO,那问题不算大。如果想通过这种方式实现视频播放的加速就比较困难了。估计非但不能加速,反而会变得更慢。<br /> 早先曾与ZL仔细的讨论过这个问题,他当时在WinCE6.0上移植TCPMP,发现播放视频不太流畅,于是想通过直接写显存进行加速。目的很明确,在应用中申原创 2011-02-08 08:55:00 · 563 阅读 · 0 评论