C++
userljm
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
iocp
http://msdn.microsoft.com/en-us/library/aa365198(VS.85).aspx原创 2012-08-03 17:22:44 · 412 阅读 · 0 评论 -
MFC编辑框不覆盖显示
(1) 在编辑框控件属性里: Horizontal scroll, Auto HScroll, Vertical scroll, Auto VScroll. Multiline 全为true。 (2) void CreadEPCDlg::PrintEdit(LPCTSTR str) { m_edit2.SetSel(-1);//编辑框定位到末尾 m_edit2.Repl原创 2013-01-16 23:09:04 · 5192 阅读 · 2 评论 -
CSring格式化输出
CString verstr; int i = 9; verstr.Format(_T("%s%d%d%d\r\n"),L"读卡器硬件版本:",ver.MACmajor ,ver.MACminor ,i+1); verstr.Format(_T("读卡器硬件版本:%d%d%d\r\n"),ver.MACmajor ,ver.MACminor ,i+1); //verstr格式化为:读卡器硬件版本:原创 2013-01-16 23:00:47 · 575 阅读 · 0 评论 -
静态成员变量 与 静态成员函数
在C++类的成员变量被声明为static(称为静态成员变量),意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见。 比如在某个类A中声明一个static int number;初始化为0。这个number就能被所有A的实例共用。在A的构造函数里加上number++,在A的析构函数里加上number--。那么每生成一个A的实例,nu原创 2013-01-17 11:43:59 · 531 阅读 · 0 评论 -
RTTI
RTTI 是“Runtime Type Information”的缩写,意思是:运行时类型信息。它提供了运行时确定对象类型的方法。本文将简略介绍 RTTI 的一些背景知识、描述 RTTI 的概念,并通过具体例子和代码介绍什么时候使用以及如何使用 RTTI;本文还将详细描述两个重要的 RTTI 运算符的使用方法,它们是 typeid 和 dynamic_cast。 其实,RTTI 在C++中并转载 2013-01-17 12:33:03 · 454 阅读 · 0 评论 -
学习Google的C++开源代码项目
v8 - V8 JavaScript Engine V8 是 Google 的开源 JavaScript 引擎。 V8 采用 C++ 编写,可在谷歌浏览器(来自 Google 的开源浏览器)中使用。 V8 根据 ECMA-262 第三版中的说明使用 ECMAScript,并在使用 IA-32 或 ARM 处理器的 Windows XP 和 Vista、Mac OS X 10.5 (L转载 2013-02-27 11:49:56 · 4205 阅读 · 0 评论 -
C/C++程序员必须熟练应用的开源项目
作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 只需要复制代码, 改改也就可以了, 因为自己写的代码自己很熟转载 2013-02-27 11:50:40 · 1075 阅读 · 0 评论 -
许多VC++/MFC构架的开源项目
Introduction List of some of the best Open Source projects written in VC++/MFC. Background Codeproject has the best source code repository for VC++ developers. But another site Sourcef转载 2013-03-15 14:46:06 · 4236 阅读 · 0 评论 -
VC创建动态库及其使用方法简介
VC创建动态库及其使用方法简介 这里介绍的VC创建DLL的方法是最简单也是最常用的方法,创建的基本过程就象下面介绍的这样简单。调用DLL的方法,随不同的开发语言有所不同,但是基本上分为静态调用和动态调用。最常用的也就是静态调用用,如果想了解动态调用DLL以及DLL相关高级话题,请参考其他资料,这些内容不在本章探讨内容之中。 一.VC创建动态库的过程 Step1: 首先创建工转载 2013-03-15 14:30:19 · 912 阅读 · 0 评论 -
Makefile学习笔记
主要参考文档:《跟我一起写makefile》,这里有一篇《谈谈职业规划——CSDN对陈皓的采访》,被采访的大牛就是这个文档的作者,他的CSDN专栏。本文的示例工程及Makefile 在这里 一、关于Makefile的一些Tips 1. 整个Makefile是按照“依赖关系树”来执行的,Makefile中的所有依赖根据各种规则定义出来,Makefile识别这些规则,并建立一个树状的依赖关系数转载 2013-01-14 16:17:56 · 749 阅读 · 0 评论 -
使用VC6.0 自动识别可用串口 添加至combox 并打开。
1.新建COMMTEST3工程,添加一个combobox到界面,id设置为IDC_COMBO。 (注意:组合框(ComboBox),运行时点击其右边的小箭头拉不下来(即不出现下拉列表)。需如下设置: 这是使用VC++的人最初常遇到的问题,实际上是下拉列表的高度设置不当。组合框的高度是不能修改的,它是由系统决定的,但下拉部分的高度(即在下拉框中显示多少行)是可以设置的。在VB和Delphi中默认转载 2013-01-12 00:13:52 · 2451 阅读 · 0 评论 -
VC2005使用MSCOMM编写串口通讯程序
近来又要做个串口通信的程序,由于以前没有做过,所以不知道怎么写,网上搜了一圈,全是在VC6.0下写的,于是找葫芦画瓢,好不容易总算成功了,只是我这里用的是VC2005,但是VC2005中是没有MSCOMM的,所以我们需要借助VC6.0的MSCOMM控件; 首先去网上下载MSCOMM32.OCX,MSCOMM32.DEP,MSCOMM.SRG三个文档,然后把它拷贝到c:\windows\syste转载 2013-01-11 23:14:22 · 1306 阅读 · 0 评论 -
WSASend
如果你使用完成端口,要注意调用WSASend的次序就是就是缓冲区被填充的次序。不要从不同的线程中同时调用同一个socket上的WSASend函数,因为可能导致缓冲区中的数据处于不可预知的次序。 Example Code 下面的代码演示如何以重叠IO的方式使用WSASend函数。 #include #include #incl转载 2012-08-06 23:06:34 · 1018 阅读 · 0 评论 -
UDP IOCP 客户端
// iocp.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" //--------------------------------------------------------------------------- //#pragma hdrstop #include #include #include #pragma comment(lib原创 2012-08-09 17:40:12 · 2127 阅读 · 0 评论 -
UDP IOCP ser
// iocpser.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include #define PORT 9090 #define MSGSIZE 1024 #pragma comment(lib, "ws2_32.lib") typedef enum { RECV_POSTED }OPE原创 2012-08-09 17:57:02 · 2705 阅读 · 0 评论 -
C++中异常处理的语法 try catch throw
C++中异常处理的语法。 关键字 1、 try 2、 catch 3、 throw 其中关键字try表示定义一个受到监控、受到保护的程序代码块;关键字catch与try遥相呼应,定义当try block(受监控的程序块)出现异常时,错误处理的程序模块,并且每个catch block都带一个参数(类似于函数定转载 2012-08-23 14:29:05 · 595 阅读 · 0 评论 -
内存泄露与检查 1
如何发现内存泄露 方法一:自己调试 检测内存泄漏的关键是要能截获住对分配内存和释放内存的函数的调用。截获住这两个函数,我们就能跟踪每 一块内存的生命周期,比如,每当成功的分配一块内存后,就把它的指针加入一个全局的list中;每当释放一 块内存,再把它的指针从list中删除。这样,当程序结束的时候,list中剩余的指针就是指向那些没有被释放 的内存。这里只是简单的描述了检测内存泄漏的基本原理转载 2012-12-20 21:16:39 · 704 阅读 · 0 评论 -
重载、覆盖与隐藏
成员函数的重载、覆盖与隐藏 成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚 概念,否则错误将防不胜防。 8.2.1 重载与覆盖 成员函数被重载的特征: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是: (1)不同的范围(分别位于派生类与转载 2013-01-06 16:21:19 · 331 阅读 · 0 评论 -
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
如何判断一段程序是由C 编译程序还是由C++编译程序编译的? 答案: #ifdef __cplusplus cout #else cout #endif 关于 #ifdef __cplusplus 转自:http://blog.sina.com.cn/u/4a17e7e101000822 时常在cpp的代码之中看到这样的代码: #ifde转载 2013-01-06 16:28:28 · 896 阅读 · 0 评论 -
什么函数不能声明为虚函数
一、首先回顾下什么是虚函数及其作用,以便更好理解什么函数不能声明或定义为虚函数: 1. 定义: 虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义中定义虚函数的一般形式: virtual 函数返回值类型 虚函数名(形参表) { 函数体 } 2. 作用: 虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合转载 2013-01-06 16:56:31 · 412 阅读 · 0 评论 -
用Windows API进行串口编程的一般步骤及相关函数讲解
虽然使用诸如 CSerialPort VC串口类,MSComm VC 串口控件等非常方便,但有时这些控件并不适合自己的特殊需求,所以有必要了解一下基于Windows API的串口编程方法,下面介绍一下API串口编程的一般步骤及相关串口API函数。 串口操作一般有四步,分别是: 1) 打开串口 2) 配置串口 3) 读写串口 4) 关闭串口 1、 打开串口 在《VC转载 2013-03-15 15:27:00 · 922 阅读 · 0 评论
分享