vc
学海无涯前头是岸
这个作者很懒,什么都没留下…
展开
-
GetSafeHwnd
最近老是看到GetSafeHwnd,MSDN了一下。稍微理解一下。 CWnd::GetSafeHwnd (这是CWnd的一个成员函数)HWND GetSafeHwnd()const;(这是个const 函数)Return ValueReturns the w原创 2011-07-04 08:45:34 · 801 阅读 · 0 评论 -
读书
生命不息,学习不止。读书是学习的最重要的途径。大家都说学习要注重基础知识。于是,有的人就偏激片面的理解为学习只学基础知识。我自己有的时候也有这种思想。其实,学习基础知识很重要,但是系统的学习一个行业的知识,了解行业最新技术是很有必要的。人们常说,没学会走,就不要尝试跑原创 2011-09-06 09:14:18 · 725 阅读 · 5 评论 -
C++类型隐式转换
char 8 unsigned char 8 short int 16 u char 16原创 2011-08-08 17:05:23 · 400 阅读 · 0 评论 -
Win32 exe 文件的启动过程(zz)
学习windows 编程从mfc角度来说可分为两部分那就是WinMain函数以前的,和WinMain函数以后的。前者涉及很多windows操作系统内部的知识,后者需要看mfc源码。虽然大多数程序不需要了解太多关于os加载应用程序这方面的知识,但能较深入了解windows os转载 2011-08-18 14:21:50 · 1189 阅读 · 0 评论 -
VC中定时器的使用 实现数据自动发送
定时器的使用 实现数据自动发送2011-06-03 08:57VC中定时器的使用 实现数据自动发送 2010-04-10 22:13:211.1 用WM_TIMER来设置定时器先请看SetTimer这个API函数的原型UINT_PTR SetTimer(HWND hWnd, // 窗口句柄UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以转载 2011-11-16 11:43:41 · 2093 阅读 · 0 评论 -
com注册
这两天写了个空中升级车载机的PC小程序。程序中使用了网上无意间下载的COM组件,有原代码。真的比较好用。在我自己的电脑上一切OK后,拷贝到别人的电脑上,就是提示组件注册失败。找问题,找啊找啊找啊找,终于,想到注册组件这个概念。一试,还真管用。感叹啊,知识不够用。这下得好好了解下组件注册的知识了。原创 2011-11-02 14:44:07 · 499 阅读 · 0 评论 -
VC调试方法大全
VC调试方法大全 一、调试基础调试快捷键F5: 开始调试Shift+F5: 停止调试F10: 调试到下一句,这里是单步跟踪 F11: 调试到下一句,跟进函数内部Shift+F11: 从当前函数中跳出Ctrl+F10: 调试到光标所在位置F9: 设置(取消)断点Alt+F9: 高级转载 2011-12-09 14:16:53 · 517 阅读 · 0 评论 -
一个正确的宏
#define MIN(A,B) ( (A)1,每一个参数需要括号。2 。整个表达式需要括号。3 最后不能有分号。原创 2012-05-28 10:46:59 · 445 阅读 · 0 评论 -
越来越觉得水平低了
#include "stdafx.h"#include #include using namespace std;void getMemory(int * p){ p = (int*)malloc(100); *p = 5; cout<<p<<endl; //return p;}int main(int argc, char* argv[]){原创 2012-05-28 10:19:43 · 467 阅读 · 0 评论 -
STL
泛型编程 generic programming (GP)。标准模块库 standard template library (STL)。STL两个部分:容器vector list (序列式容器 sequential container ) set map(关联式容器 associate container)。 map 一对对的 ke原创 2012-05-16 10:46:45 · 441 阅读 · 0 评论 -
more effective c++
基础:M1 指针和引用的区别M2 无用的构造函数可不用。M3 新的类型转换 static_castM4 不要对数组使用多态运算符:M5 谨慎定义类型转换函数 单参构造函数要小心。M6 new deleteM7 自增 自减M8 不要重载 关系运算符原创 2012-06-06 09:09:18 · 603 阅读 · 1 评论 -
《Essential C++ 》是本粗略的书。不过很实用
用C++,有的概念不常用,有时候用的时候就忘记了。查阅大部头的书比较麻烦。用Essential C++最好了。手边常备Essential C++。很不错。构造 析构:析构函数无返回值,无参数。析构函数很多时候不用。用的情况一般是构造函数用 NEW 申请了堆空间。若果有必要设计拷贝构造函数,那么也一定有必要设计 copy assignment operator.一般有指针成员变量的话原创 2012-05-17 11:55:04 · 2338 阅读 · 2 评论 -
object-oriented pk object-based
面向对象和基于对象的区别。lippman.基于对象 ---------- class 面向对象 ----------- 继承 多态 inheritance polymorphism异常。内容还是有挑战的。 析构函数为什么还要是虚拟的呢?构造函数呢?原创 2012-05-18 11:10:38 · 461 阅读 · 0 评论 -
template 模板也疯狂
型别参数非型别参数#include using namespace std;template //这里用class 和 typename 都行。细微的差别太复杂了啊。csdn 里有牛人。class lingyun{public: lingyun(memtype ele):_value(ele){}; //这样也可以的。 memtype getvalue();原创 2012-05-21 18:25:33 · 418 阅读 · 0 评论 -
来段测试代码。
// postthreadDlg.cpp : implementation file // #include "stdafx.h" #include #include #include #include "postthread.h" #include "postthreadDlg.h" #ifdef _DEBUG #define new DEBUG转载 2012-06-14 11:03:59 · 455 阅读 · 0 评论 -
PostThreadMessage
PostThreadMessage把window线程间传送消息仔细的看了一遍,觉得以前的理解很不深刻。说一说对PostThreadMessage的理解。PostThreadMessage是一个线程体发送一个消息到指定的线程ID,其原型如下:BOOL PostThreadMessage( DWORD idThrea转载 2012-06-14 11:00:56 · 761 阅读 · 0 评论 -
gps自动测试工具
计划时间:1个周8月17:使用CButtonST 实现了可以变换颜色的按钮。使用过程中,发现该类有两个版本,98版和0x版。为了熟练,使用了98版。 对话款使用非模式的。出于之前的API串口的通信速度慢的原因,本次使用了Windows控件。添原创 2011-08-19 15:00:46 · 690 阅读 · 0 评论 -
win32的回调机制是如何现实的
作者:MediaStar (mail@globalmediastar.com) 收录于:2002年3月18日 调用(calling)机制从汇编时代起已经大量使用:准备一段现成的代码,调用者可以随时跳转至此段代码的起始地址,执行完后再返回跳转时的后续地址。CPU转载 2011-07-25 18:19:47 · 732 阅读 · 0 评论 -
得到主框架窗口的指针
单文档和多文档: CMainFram*pFrame = (CMainFram*)AfxGetApp()->m_pMainWnd;//CToolBar*pToolBar = &pFrame->m_wndToolBar;单文档: CMainFram*pFrame原创 2011-07-05 11:03:11 · 615 阅读 · 0 评论 -
改变状态栏
要让状态栏显示鼠标坐标信息。可按如下步骤。1 映射 ID_VIEW_STATUSBAR 到 CMAINFRAME.这是为了让菜单可以显示和隐藏状态栏。void CMainFrame::OnViewStatusBar() { // TODO: Add your原创 2011-07-05 15:38:28 · 505 阅读 · 0 评论 -
右键弹出式菜单
学习了一下右键弹出式菜单。一般的,实现右键菜单有如下步骤和注意事项。1 在资源里新建菜单并画菜单,可以画多个子菜单。2 映射 WM_CONTEXTMENU 消息到视图或者需要的地方。3 编如下码void CW14aView::OnContextMenu(原创 2011-07-05 10:33:54 · 523 阅读 · 0 评论 -
文档视图结构启动过程
一 应用程序启动 构造CMyDocument对象 构造CMyView 对象 创建VIEW 窗口 调用 CMyview::OnCreat() //如果映射了CREAT 消息 调用 CMyDocument::OnNewDocument() 调用原创 2011-07-08 10:42:06 · 572 阅读 · 0 评论 -
书摘 关于MFC程序的启动
在应用程序类的InitInstance 调用AddDoctemplate 成员函数之后,它调用CWinApp 另一个重要的成员函数OnFileNew(通过CWinApp::ProcessShellCommand ,非直接调用)。OnFileNew 在互相连接的类名称网中排序,并完原创 2011-07-13 11:50:36 · 354 阅读 · 0 评论 -
win32的回调函数
众所周知,win32的回调函数WndProc()是操作系统调用的函数,win32用回调来处理消息循环!, 但回调机制是如何形成的?如何模拟这样的过程?? 比如我如何写第一个模块(用来模拟操作系统),而写另第二个程序(来模拟用户程序),而第一个模块在某种事件(消息)下,会调用第二个转载 2011-07-12 07:58:16 · 4567 阅读 · 3 评论 -
指针和引用的区别
指针和引用的区别(1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用 指针. 由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值. String & rs = strin转载 2011-07-13 08:38:21 · 407 阅读 · 0 评论 -
#include <afxtempl.h>
使用MFC模板集合类需要 #include 例如:原创 2011-07-11 19:16:10 · 3849 阅读 · 0 评论 -
数组指针
指向数组的指针和指针数据一直是一个绕口,难记,易混,易忘的东西。为了弄清楚这写概念。必须记住几个关键点。1 数据名是数组第一个元素的地址。2. a[i] 等价于 *(a+i) 举例:int a[10];int *p = a; int * p = &a[0]; 即 a原创 2011-07-13 09:08:50 · 343 阅读 · 0 评论 -
GotoDlgCtrl
这个函数得记住。在FORMVIEW中可以如下使用。 ((CDialog*) this)->GotoDlgCtrl(GetDlgItem(IDC_NAME));对话框中使用就更简单了。原创 2011-07-11 17:50:36 · 2320 阅读 · 0 评论 -
几种数据库编程接口
从功能简单的数据库(如Jet Engine)到复杂的大型数据库系统(如oracle),VC++6.0都提供了一些编程接口。本文主要介绍以下五种: 1.ODBC API; 2.MFC ODBC类; 3.MFC DAO类;(数据访问对象) 4.MFC的转载 2011-07-12 09:32:08 · 6390 阅读 · 0 评论 -
windows网络编程
winsock分别提供套接字模式(分为锁定和非锁定)套接字IO模式(select,WSAAsynSelect,WSAEventSelect,Overlapped IO,completion port).通常情况下,套接字模式不用。因为能力有限。套接在模式很有用。而WSAAsynS原创 2011-07-25 10:28:31 · 439 阅读 · 0 评论 -
C语言运行时库详解
运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念。所以这个时期的C运行时库都是单线程的。 随着操作系统多线程技术的发展,最初的C运转载 2011-07-25 14:41:56 · 573 阅读 · 0 评论 -
内存泄漏
奮鬥の银光 2.1 C++中动态内存分配引发问题的解决方案假设我们要开发一个String类,它可以方便地处理字符串数据。我们可以在类中声明一个数组,考虑到有时候字符串极长,我们可以把数组大小设为200,但一般的情况下又不需要这么多的空间,这样是浪费了内存。对了,我们可以使用ne转载 2011-07-25 18:22:23 · 473 阅读 · 0 评论 -
探讨C++内存回收
奮鬥の银光 3 探讨C++内存回收3.1 C++内存对象大会战 如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一转载 2011-07-25 18:23:27 · 903 阅读 · 0 评论 -
临界区 互斥体 信号量 事件
临界区 只能用于本进程 很常用,速度快。不是系统核心对象。互斥体 可跨进程 一个资源的互斥访问。信号量 可跨进程 注意一个“量”字。比互斥体多了数量控制。事件 可跨进程 主要是控制线程的先后顺序。原创 2011-07-25 11:29:18 · 608 阅读 · 0 评论 -
一个microsoft的.exe程序文件的启动过程
学习windows 编程从mfc角度来说可分为两部分那就是WinMain函数以前的,和WinMain函数以后的。前者涉及很多windows操作系统内部的知识,后者需要看mfc源码。虽然大多数程序不需要了解太多关于os加载应用程序这方面的知识,但能较深入了解windows os的运转载 2011-07-25 14:39:11 · 438 阅读 · 0 评论 -
udp WSAAsyncSelect
折腾了两天了。基本明白了。有一个问题悬而难决。udp 调用第一次WSAAsyncSelect 就有一个FD_WRITE被触发。然后就可以任意的发送消息了。发送出第一个消息后,有一个奇怪的FD_READ到达。一旦接受,就有10054错误。不好弄啊。折衷的办法有一个。那就是暂时用WSAAsyncSelect注释掉FD_READ.然后用的时候再开。原创 2012-07-11 16:52:00 · 1469 阅读 · 0 评论