自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

噬日者

Eclipser : 吞噬sun ...

  • 博客(244)
  • 资源 (1)
  • 收藏
  • 关注

原创 google protocol buffer (C++,Java序列化使用实例)

转载,请注明出处: http://blog.csdn.net/eclipser1987/article/details/8525383  (eclipser@163.com)1.下载安装:google protocol buffer 的官网地址是:http://code.google.com/p/protobuf/        建议下载稳定版本:protobuf-2.4.1

2013-01-21 16:48:56 17634

原创 C++可变长参数模版(Variadic Templates)

/* * File: main.cpp * Author: Vicky.H * Email: eclipser@163.com */#include templatestruct Tuple_Impl;templatestruct Tuple_Impl {};templatestruct Tuple_Impl : public Tuple_Impl {};

2013-01-11 15:51:21 2654

原创 java加密工具类

package cn.vicky.utils;import java.security.MessageDigest;public class MD5 {// private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",// "6", "7", "8", "9", "a", "b", "

2013-01-09 14:26:23 1719

原创 回顾struct,union的申明,初始化,io处理

/* * File: main.cpp * Author: Vicky.H * Email: eclipser@163.com */#include #include #include void f(void) { struct A { short age; int money; char

2012-12-11 17:34:28 2492

原创 宏,函数模版方式实现继承方案

在QT中,对于所有定义了信号和槽的类,定义的开始处需要加入:Q_OBJECT宏!!!/* tmake ignore Q_OBJECT */#define Q_OBJECT \public: \ Q_OBJECT_CHECK \ static const QMetaObject staticMetaObject; \ Q_OBJECT_GETSTATICME

2012-11-28 11:48:22 924

原创 libcurl使用

libcurl主要功能就是用不同的协议连接和沟通不同的服务器~也就是相当封装了的sockPHP 支持libcurl(允许你用不同的协议连接和沟通不同的服务器)。, libcurl当前支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传(当

2012-11-02 16:32:54 7509 1

转载 STLport安装指南

STLport安装指南STLport-4.6 是完全兼容ANSI C++标准的类库。This distribution contains STLport sources only, no binaries.To use STLport iostreams, you have to build STLport library from sources in "src"director

2012-10-12 10:20:18 3676

原创 C++ 流的粗略运用

/* * File: main.cpp * Author: Vicky.H * Email: eclipser@163.com */#include #include #include #include class A {public: friend std::ostream& operator<<(std::ostream& os,

2012-09-29 11:51:48 6328

原创 C++为什么不建议使用malloc,calloc,realloc来分配内存?

为什么C++中不建议使用malloc calloc realloc等C语言函数?因为:这样分配的空间,返回的指针需要通过free来释放,但free释放空间不同于delete,free不会执行析构函数! /* * File: main.cpp * Author: Vicky.H * Email: eclipser@163.com */#include #inc

2012-09-27 13:14:54 7112

原创 new (nothrow) T() 的原理

查看中对new的声明.void* operator new(std::size_t) throw (std::bad_alloc);void* operator new(std::size_t, const std::nothrow_t&) throw();void* operator new[](std::size_t) throw (std::bad_alloc);void*

2012-09-27 12:50:12 5155

转载 内存管理元素

1、三个最重要算法:uninitialized_copy、uninitialized_fill、uninitialized_fill_n 会构造新的对象object,而copy、fill、fill_n会赋新值于已存在的对象上。 2、construct 构造器:template void construct(T1* p,const T2& value);construct(p,v

2012-09-27 11:34:02 707

原创 未初始化的存储uninitialized_x

除了,allocator空间分配器之外,中还有初始化容器标准库函数.分别为:templateinline _ForwardIterator uninitialized_copy(_InputIterator __first, _InputIterator __last,_ForwardIterator __result) templateinline void uninit

2012-09-27 11:03:48 837

原创 常规函数适配器,成员函数适配器

stl算法中,可以使用函数指针以及仿函数传递算法.那么为什么还需要常规函数适配器呢?因为,常规函数适配器无"配接能力"例子:/* * File: main.cpp * Author: Vicky.H * Email: eclipser@163.com */#include #include #include #include clas

2012-09-24 16:51:13 1249

原创 关于type_info与typeid

不同编译器的返回结果不同!更多请参见:http://www.cppblog.com/smagle/archive/2010/05/14/115286.html/* * File: main.cpp * Author: Vicky.H * Email: eclipser@163.com */#include #include class A {};

2012-09-20 14:13:40 5503

原创 多态的实现方式,继承与模版函数

stl,boost中几乎所有容器都采用的是模版类+模版算法的方式实现多态,因为其效率更高!究其原因,静态编译/* * File: main.cpp * Author: Vicky.H * */#include /**动物*/class Animal {public: virtual ~Animal() { }; virtual

2012-09-20 11:50:24 874

原创 throw(),空异常描述符,中断描述符

在分析stl源码的时候,发现几乎所有函数都包含空异常描述符throw().那么throw()究竟有何意义呢?其实,与其称其为"空异常描述符",还不如称其为"中断描述符".简单的说,如果throw()修饰的函数中发生任何异常,即便函数外部有捕获操作,函数也不会抛出任何异常,那么程序将直接终止!!!简单的说,对使用throw()修饰的函数进行try{}catch(...){}是没有任何意义的!

2012-09-19 18:04:51 2922

原创 常规友元函数,模版友元函数以及友元类.

友元函数和友元类        采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检

2012-09-15 14:48:44 1802

原创 windows下,使用netbeans远程连接solaris11开发C++,并且使用DTrace工具

1.VM虚拟机安装sol-11-1111-text-x86.iso 2.安装完毕,查看gcc以及gdb版本.gcc -vgdb -vsol-11-1111-text-x86 不会默认安装gnu gcc 编译器,需要自己下载安装. 3.安装c++ 编译器.首先查看最新版本的gccroot@vicky:~# pkg search gccINDEX

2012-09-07 14:41:48 1532

原创 关于__type_traits的设计思想

/* * File: main.cpp * Author: Vicky.H * *///#include #include namespace cn_vicky { /** 2两个空白类,没有任何成员,不会带来额外负担,却能通过类型代表真假,可以用于函数特化参数 */ struct __true_type { }; s

2012-09-05 13:13:31 1199

原创 多参数返回类型_自定义tuple

/* * File: main.cpp * Author: Administrator * */// Java 中可以使用Object[] 方式用于返回多个值的函数,因为Java可以使用Object[] objs = fun()的方式接收,// 最重要的是,objs的长度在Java程序中是可知的,而如果C++中却不行!// public static Obje

2012-09-02 21:52:28 1202

原创 使用模版类作为模版参数

/* * File: main.cpp * Author: Administrator * */#include //-------------------namespace trait { template struct type_init; template <> struct type_init {

2012-09-02 20:41:43 4092

原创 类模版中函数模版

/* * File: main.cpp * Author: Administrator * */#include template class A {public: void f1(void); static void f2(void); /**模版类中的模版函数,在类模版A未被特化前,虽然可以声明与定义,

2012-09-01 23:55:47 1022

原创 类的成员函数指针,类的静态成员函数指针

/* * File: main.cpp * Author: Vicky.H * */#include void f1() { std::cout << "f1" << std::endl;}void f2() { std::cout << "f2" << std::endl;}class A {public:

2012-08-31 17:56:18 2413

原创 函数指针与仿函数

/* * File: main.cpp * Author: Vicky.H * */#include #include int cmp(const void* e1, const void* e2) { const int* i1 = (const int*) e1; const int* i2 = (const int*) e2;

2012-08-30 15:20:00 4022

原创 使用宏动态创建类

/* * File: main.cpp * Author: Vicky.H * */#include class Command {public: virtual void func1(const char* command) = 0; virtual void func2(const char* command) = 0;

2012-08-29 14:08:14 1951

原创 模版类中嵌套自定义模版类型

/* * File: main.cpp * Author: Vicky.H * */#include #include class alloc {};inline size_t __deque_buf_size(size_t n, size_t sz) { return n != 0 ? n : (sz < 512 ? size_t(51

2012-08-28 10:07:38 2429

原创 模板类静态变量

/* * File: main.cpp * Author: Vicky.H * */#include class A {public: static int _var;};int A::_var = 1;templateclass B {public: static int _var;};//in

2012-08-27 16:33:41 2696

原创 使用mina2框架编写分布式日志服务器

日志服务器,那游戏服务器为实例,重要的数据库服务器,游戏服务器,网关服务器...往往不在意日志服务器,而通常情况下,日志简单的通过log4j,c下的log4c,cpp下的log4cpp等日志工具,当然,这类日志工具是主流的开源框架,性能,功能面都不错,但如果,我们需要记录几乎每个玩家,没个操作,那么这类在应用程序中添加的日志记录将会消耗大量系统资源,导致服务器卡慢.顾,分布式日志服务器在某些项目架

2012-08-03 10:00:55 3601

原创 ClassLoader,URLClassLoader,类的动态加载!

实例svn:svn://www.oksvn.com/classloader/ClassLoadersvn://www.oksvn.com/classloader/ClassLoaderWeb 尤其,通过URLClassLoader,在配合如J2EE等方式,项目JMX管理,那么实现项目的动态修改十分方便,比如,Mina中的Filter,我们可以非常灵活的增加,修改,更新,删除Filt

2012-07-30 11:58:23 3180

原创 netty 下载地址

中国的防火墙一向是强大的.jboss netty 网站也在屏蔽之列http://www.jboss.org/netty/下载可以进入下面网址https://github.com/netty/netty/downloads

2012-07-17 11:34:17 1151

原创 早该被淘汰的中国移动游戏基地

真心吐槽帖,尼玛的中国移动游戏基地,不晓得这个平台是那个年代的技术,技术实在是太落伍,没有测试环境,必须在正式环境进行调试,而且不提供电信代理移动,接入的时候,只能采用远程调试,或者日志方式来进行接入开发,延迟高得离谱,尼玛,数据还用xml传递,再不济能用json嘛.传一堆的垃圾数据,数据过大,返回数据都是错误的还死不认账,一口:我们接入了那么多游戏,没有任何错误,尼玛,要是没错,老子名字倒着写.

2012-07-12 15:23:50 1060

原创 Java远程调试.使用IDE netbeans

上一篇文章,主要讲述的是c程序中fork()子进程的调试,其核心思想无外乎是远程调试的一部分.这里我将讲述,java的远程调试. 参见,小石头的文章:http://www.blogjava.net/yongbing/articles/221179.html 主要讲述要调试的java程序运行参数.首先,JAVA自身支持调试功能,并提供了一个简单的调试工具--JDB,类似于功能强大的GDB

2012-06-29 17:44:43 3388

原创 windows下远程开发c/c++,fork()子进程调试方案.

一下开发使用IDE:netbeans windows共享文件方式远程linux下gun开发c/c++.一向的,看源码:尝试在19行加入断点,19行将会在子进程中运行,由于gdb的缘故(请google),在使用netbeans直接调试的时候,不会进入该断点(断点无效)!调试打印数据为:&"warning: GDB: Failed to set controlling termin

2012-06-29 17:35:40 4548

原创 C,C++头文件分类整理.

// C、传统 C++#include     //设定插入点#include      //字符处理#include      //定义错误码#include      //浮点数处理#include     //文件输入/输出#include     //参数化输入/输出#include    //数据流输入/输出#include     //定义各种数据类型最

2012-05-30 10:44:35 1253

原创 关于虚析构函数的意义以及operator new与operator delete

/* * File: main.cpp * Author: Vicky * */#include #include #include class A{public: void* operator new(size_t size) { std::cout << "分配大小:" << size << std::endl;//

2012-05-21 15:42:12 605

原创 关于cmwap的代理

在中国移动提供的网络连接中,分为CMNET和CMWAP两种,其中CMNET可以无限制的访问互联网络,资费比较贵。CMWAP类似一个HTTP的代码,只能访问支持HTTP的应用,但是资费便宜,稳定性比较差。       在实际的J2ME网络编程中,一般需要提供以CMWAP代理的方式连接网络,在J2ME中,连接的代码和直接连接有所不同,代码如下:              HttpConnect

2012-05-15 09:21:04 860

原创 关于new注意事项

/* * File: main.cpp * Author: Vicky * */#include #include #include class User {public: User() {std::cout << "创建一个User" << std::endl;} User(const char* username) {s

2012-05-10 18:17:36 881

原创 包含同一头文件的多个源文件,声明并定义相同类,结构体的有趣问题

一个头文件,声明的函数、类型、结构体等,只能于一个源文件实现。包含同一个头文件的多个源文件,不能定义相同名称的全局变量,即便类型不同也不可以。(但常量却可以)。包含同一个头文件的多个源头件,可以分别在源文件中声明并定义类型、结构体,但不能申明并定义函数。但这却会导致一个有趣的问题,请看实例分析。A.h 声明了3个函数,分别在B.cpp C.cpp D.cpp 中实现/* *

2012-04-27 11:34:03 8354

原创 C函数,函数指针,函数类型,函数数组,函数强制转换使用

/* * File: main.cpp * Author: Vicky * */#include #include /** 创建函数类型,可以用于创建函数数组 */typedef void (*FUNC_t)(int id, int args_size, ...);void pcreate(int id, int args_size, ...) {

2012-04-24 18:31:34 1300

原创 netbeans linux cunit cppunit 使用

源码编译CUnit 以及CppUnit。 查看文件 安装成功。 我使用的是netbeans 开发工具,远程连接centos进行C/C++的开发。Cunit 项目文件配置cunit静态连接库及运行环境编写测试文件:/* * File: CUnitTest.c * Author: Vicky.H * * Created on

2012-03-31 16:29:12 1732

JPA2.0-Spring2.x-Struts2注解

主要讲述JPA2.0规范,Struct2 Spring注解等技术

2012-02-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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