- 博客(31)
- 资源 (24)
- 收藏
- 关注
转载 buffer几种用法
<br />chard1[128];size_tbytes_transferred=sock.receive(boost::asio::buffer(d1));buffer 大小是自动管理的同样std::vector<char>d2(128);bytes_transferred=sock.receive(boost::asio::buffer(d2));还可以基于boost::arrayboost::array<char,128>d3;bytes_transferred=sock.receive(boost
2010-11-30 10:46:00 6669
转载 c++多字节与宽字节字符串转换(windows平台)
<br />本文转自:http://www.asarea.cn/showdiary.jsp?id=193<br /> <br />大家都知道,在标准c++中有string和wstring,前者为多字节ANSI字串,后者为宽字节wide字串(UTF-16)。<br />在一些应用中常常需要在二者之间以及与UTF-8之间进行字串转换,这里提供一个自己写的类,用于之间的转换。<br />原理是利用windows的api:WideCharToMultiByte、MultiByteToWideChar。<br />这
2010-11-27 15:43:00 2638
转载 c++和java中的字符和字节
<br /><br />在 C++ 和 Java 中,用来代表“字符”和“字节”的数据类型,以及进行编码的方法:类型或操作C++Java字符wchar_tchar字节charbyteANSI 字符串char[]byte[]UNICODE 字符串wchar_t[]String字节串→字符串mbstowcs(), MultiByteToWideChar()string = new String(bytes, "encoding")字符串→字节串wcstombs(), WideCharToMultiByte()b
2010-11-27 10:31:00 2179
原创 C++ 获得cpu个数
<br />本文转自:http://www.cppblog.com/Chipset/archive/2009/02/20/74403.html<br /> <br />//测试CPU核心个数#if !defined (_WIN32) && !defined (_WIN64)#define LINUX#include <sysconf.h>#else#define WINDOWS#include <windows.h>#endifunsigned core_count(){
2010-11-24 15:38:00 12813 1
原创 C++测试程序运行时间
<br />#include<iostream>#include<time.h>using namespace std;int main(){ long beginTime =clock();//获得开始时间,单位为毫秒 for(int i=0;i<10000;i++){cout<<i<<endl;}//输出10000行数字 long endTime=clock();//获得结束时间 cout<<"beginTime:"<<beg
2010-11-22 20:44:00 10910
转载 C++主题——成员初始化列表
<br /><br />C++为类中提供类成员的初始化列表<br />类对象的构造顺序是这样的:<br />1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员<br />2.进入构造函数后在构造函数中执行一般计算<br />使用初始化列表有两个原因:<br />1.必须这样做:<br /> 如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,而没有默认构造函数,这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数,如果没有初始化列
2010-11-22 16:21:00 1351
转载 c++字符指针的特殊之处
<br />如果我们对一个非字符的指针进行操作,方法是这样的: <br /><br /> 定义: <br /> (1)int a=7; int *p=&a; 或者 <br /> (2)int a=7; int *p; p=&a; 或者 <br /> (3)int a=7; int *p; *p=a; <br /><br /> (1)这样定义的原因是因为等号两边的类型必须匹配,int *p=&a; 等号左边定义的是一个指针,指针的内容是地址,所以等号右边也应该是地址,&a就是取空间a的地
2010-11-21 11:50:00 1408
转载 转载一份C++线程池的代码,非常实用
<br />#ifndef _ThreadPool_H_#define _ThreadPool_H_#pragma warning(disable: 4530)#pragma warning(disable: 4786)#include <cassert>#include <vector>#include <queue>#include <windows.h>using namespace std;class ThreadJob //工作基类{public:
2010-11-20 19:47:00 1578
转载 虚拟内存,物理内存,页面文件,还有任务管理器
<br />虚拟内存(Virtual Memory)是Windows管理所有可用内存的方式。<br />对于32位Windows系统,每个进程所用到的虚拟内存地址从0到2^32-1,总容量4GB,<br />其中2GB是与操作系统以及其他所有进程所共享,<br />另外2GB分派给进程独占(这就是常说的32位Windows中一个进程最多能用2G内存的由来)。<br /><br />4GB虚拟地址空间(Virtual Address Space,VAS)中,2GB的进程独占VAS是进程隔离的,<br />换句
2010-11-20 15:59:00 5296 2
转载 C++注释规范
公司内有一个统一的注释规范相当重要,下面的文章转载自:http://hi.baidu.com/buptyoyo/blog/item/fc8bdfee2ea1793326979114.html最近一直在给项目代码加注释,因为结项有一项工程性的要求是注释占到总行数的额50%,这几天可苦了我们几个。前几天为了统一项目组的注释规范,专门整理了一份,以后可能也用得着,放着备份下。1 源文件头部注释Ø 列出:版权、作者、编写日期和描述。Ø 示例:/************************************
2010-11-19 10:07:00 30126 4
转载 const使用详解
<br /><br />一 const基础<br /><br />如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:<br /><br />int b = 500;<br />const int* a = &b; [1]<br />int const *a = &b; [2]<br />int* const a = &b; [3]<br />const int* const a = &b; [4]<br /><br />如果你能区分出上述四种情况,那么,恭喜你,你已经迈出了可喜的一步。
2010-11-19 09:35:00 1287
原创 Boost中的tribool类型
<br />tribool是个比较有意思的类型,和原来的bool值很像,但它有3个值,true、false和indeterminate(不确定)。<br /> <br />//第1个例子tribool b = some_operation();if (b) { // b is true}else if (!b) { // b is false}else { // b is indeterminate}//第2个例子tribool x = some_op(
2010-11-18 13:25:00 2647
原创 在顺序容器中添加元素的操作
<br />c.push_back(t) Adds element with value t to the end of c. Returns void.在容器 c 的尾部添加值为 t 的元素。返回 void 类型 c.push_front(t) Adds element with value t to front of c. Returns void.在容器 c 的前端添加值为 t 的元素。返回 void 类型Valid only for list or deque.只适用
2010-11-18 10:49:00 1583
原创 很好的英文诗
<br /><br />1. THE SIGNIFICANCE OF FAILURE<br /> Robert H. Schuller<br /> Failure doesn't mean you are a failure,It does mean you haven’t succeeded yet. Failure doesn’t mean you have accomplished nothing,It does mean you have learned something. Failure d
2010-11-17 21:44:00 3288 2
转载 追MM与Java的23种设计模式
<br />我在Java论坛看到这篇文章,作者以轻松的语言比喻了java的32种模式,有很好的启发作用,但可惜没有给出具体的意思,我就在后边加上了。这些都是最简单的介绍,要学习的话建议你看一下阎宏博士的《Java与模式》一书。 <br /><br />创建型模式<br /><br /> 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory<b
2010-11-16 20:02:00 2005 3
转载 Asio实现的实用echo server
关于echo的简单server,几乎多得发指,但大部分都没有提供类似粘包,定时器,安全退出等开发中的常用机制,换句话说,为了echo而echo,借鉴价值大打折扣,毕竟我们平时的工作不可能这么简单。这几天研究了下asio,感觉不错,boost接纳asio后,在服务器开发领域是不是该得到重视呢:),还是贴代码吧,有注释// asio.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"//禁止boost自动链接静态库#define BOOST_ALL_DYN_LIN
2010-11-16 18:51:00 2011
转载 STL简介
<br /><br />一、STL简介<br /> STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。<br /> STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代
2010-11-16 15:29:00 1326
转载 Boost.Bind的基础使用
<br />当我们使用函数时习惯于C函数的格式,即如下形式<br />resulttype funname( arglist );<br />返回值类型 函数名( 参数列表 );<br /><br />在Boost.Function中,我们可以方便的定义定义函数对象。不过在定义用来表示类成员函数的函数对象时<br />第一个参数是类指针。而且在调用时,要传入一个类实例的指针。这样用起来并不是很方便,因为调用者<br />要知道类实例。这实际上没有实现解耦。而解耦是我们使用回调或委托设计的一个目标。<br /
2010-11-12 14:45:00 2020
转载 在c++中从一个程序中启动和关闭另一个程序
今天正在编写的程序是一个插件(PlugIn)。插件其实就是一个动态链接库,可以被主程序装入内存中,并调用插件中按照主程序规定编写的函数。由于插件受制于主程序,因此我必须另外提供一个程序可以扩展插件的功能。于是乎,我就编写了一个更加复杂的程序来完成更多的功能,但是为了使这个程序可以看起来是和使用插件的程序象是集成在一起的,就必须在启动插件程序的过程中,也同时启动我后来编写的程序,并且还要在插件主程序关闭之前,将我编写的程序也关闭。为了实现这一目的,ShellExecuteEx()以及FindWindow()就
2010-11-11 11:32:00 12587
转载 用C++访问SQL Server 2000的实例
一、ADO简介 ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,不仅简单易用,并且不失灵活性.不失为C++利用数据库快速开发的不错选择。 理论就不用我在这儿费话了,网上有很多,但光是理论,也不是不够的,ADO访问数据的方法很灵活,容易让人混淆.网上大部分的实例都是基于MFC的,数据库也是Access多,这儿我写了一个C++语言访问MS SQL2000的实例,希望对比我还菜鸟的菜鸟有所帮助。
2010-11-10 08:50:00 2007 1
转载 VC编写有图形界面的Windows服务程序
环境:Windows 2003,VC 6.0 摘要:从建立一个COM服务程序入手,然后将一个MFC项目改造成服务程序,最后让这一程序在启动时可以显示图形界面。 关键字:windows服务程序 COM服务程序 开机前启动 NT服务 与桌面交互 一、什么是windows的服务程序? 可以使用下面的几种方法看到它。 打开控制面板,然后是管理工具,里面有一个“服务”,双击后打开; 或者是通过输入命令的方式,打开开始菜单,点击运行,输入mmc services.msc(mmc可省略),也可打开; 我们会
2010-11-10 08:25:00 3595
转载 Java字符串转换为日期和时间比较大小
<br />DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); String dateBegin=fmt.format(carrierCommand.getDateBegin()); String dateEnd=fmt.format(carrierCommand.getDateEnd()); //如果获得的日期格式不是'2008-05-22',就必须要格式化一下日期 String dateBegin = request.getPa
2010-11-08 13:26:00 2520
原创 C++ 选择容器的提示
If the program requires random access to elements, use a vector or a deque.如果程序要求随机访问元素,则应使用 vector 或 deque 容器。If the program needs to insert or delete elements in the middle of the container, use a list.如果程序必须在容器的中间位置插入或删除元素,则应采用 list 容器。If the pr
2010-11-05 17:16:00 1274
原创 C++学习笔记-十一月份
11-4 四迭代器运算*iter Return a reference to the element referred to by the iterator iter.返回迭代器 iter 所指向的元素的引用 iter->mem Dereference iter and fetch the member named mem from the underlying element. Equivalent to (*iter).mem.对 iter 进行解引用,获取指定元素中名为 mem
2010-11-05 16:50:00 1145
原创 容器构造函数
<br />C<T> c; Create an empty container named c. C is a container name, such as vector, and T is the element type, such as int or string. Valid for all containers.创建一个名为 c 的空容器。C 是容器类型名,如 vector,T 是元素类型,如 int 或 string 适用于所有容器。 C c(c2); Create c a
2010-11-05 16:42:00 1549
原创 c++位操作符
<br /> <br />bitwise operators <br />~ bitwise NOT(位求反) ~expr << left shift(左移) expr1 << expr2 >> right shift(右移) expr1 >> expr2 & bitwise AND(位与) expr1 & expr2 ^ bitwise XOR(位异或) expr1 ^ expr2 | bitwise OR(位或) e
2010-11-05 10:11:00 1107
原创 操纵 C 风格字符串的标准库函数
<br />strlen(s) Returns the length of s, not counting the null.返回 s 的长度,不包括字符串结束符 null strcmp(s1, s2) Compares s1 and s2 for equality. Returns 0 if s1 == s2, positive value if s1 > s2, negative value if s1 < s2.比较两个字符串 s1 和 s2 是否相同。若 s1 与 s2 相等
2010-11-05 09:29:00 1182 2
原创 android 获得后退键按事件
//获得后退键退出 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { //do something you want return true;
2010-11-04 10:50:00 6384 2
转载 VC++ Directories in vs2010
<br /><br />写这个的目的就想迅猛解释一下什么是VC++ directory, 以及在VS2010里的变化。<br /> <br /> <br />当你打开VS2010, 当你需要配置C++, 那真是一声叹息啊, 配置页面不见了! 回头说VS08的年代, 里面都是这样子的$(VSinstalldir), $(fxcopdir), 嗯, 这些都是给IDE配置的环境变量, 但是, cl.exe 是不支持的. 你现在还用VS08么, 用的话打开%LOCALAPPDATA%/Microsoft/Visu
2010-11-02 13:21:00 2467
原创 TAKE ME OUT
<br />I know that I don’t feel like talking right now<br />But I know that You still feel the same<br />So what do we do when this feeling is gone<br />What will we do when I realize I am wrong <br /><br />Can you hear me now?<br /><br />Take me out of thi
2010-11-01 21:06:00 1385
script.module.keyboard.chinese-2.0.0
2014-12-24
VC++玩转炫酷悬浮窗3源码
2014-09-05
VC++玩转炫酷悬浮窗2---不规则窗体的实现源码
2014-08-22
VC++玩转炫酷悬浮窗1---悬浮窗的实现
2014-08-21
GDI+不规则窗口
2014-08-05
VC++ CALLBACK
2014-06-07
开机自启动VC实现
2014-05-21
HowToPreferenceActivity
2014-03-06
Android Read Excel sourcecode
2013-11-27
Activity传递类对象源码
2011-12-17
WM StopWatch 源码
2011-10-09
StopWatch源码
2011-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人