自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (4)
  • 收藏
  • 关注

原创 Lua bind for C 和 conf 实现

Lua ,语法简单(极像javascript), 移植性好(纯C实现), 启动速度快,空间占用小, 真不愧是潜入式脚本语言之王。 本人想拿它来做 配置文件(conf),也像加一点IoC, 就是配置脚本可以调用主程序的函数。 实现如下: repeat_macro.h #ifndef __REPEAT_MACRO_H__ #define __REPEAT_MACRO_H__ // concatenation #define CAT(a, b) PRIMITIVE_CAT(a

2010-12-01 23:16:00 892

原创 C宏 补习

C 宏, 这么熟悉的一个东西,可有那么的不清楚。是时候补一下了。 测试方式     gcc –E  macro.test.c   参考资料 gcc:  http://gcc.gnu.org/onlinedocs/cpp/Macros.html 也可以研究一下boost的 MACRO Metaprogram 或看Linux内核的一些宏技巧(比如list定义,once_call, 等等)   宏的细节 形式参数 形参是个有效的 C 标识符, 以逗号和可选的空格分割。 The parame

2010-11-20 03:29:00 606

原创 foreach 宏 gcc实现

这个FOREACH使用了GCC的扩展特性typeof和({}),所以只保证能在linux下玩哦。   源程序 foreach.h   #ifndef _MACRO_FOREACH_H_ #define _MACRO_FOREACH_H_ #define FOREACH_USE_ITERATOR(each_var, it_begin, it_end) /     for(typeof(it_begin) it = it_begin, iend = it_end; it!

2010-11-20 02:40:00 658

原创 Visitor模式实践

刚刚学习了一下设计模式的VISTOR模式,感觉里面的限制是比较大。要使用虚拟成员,固定的类层次结构。于是想实现以个更简单的visitor模 式。 使用了boost里面的function和绑定库,因为c++标准对type_info支持的太少,高性能而又可移植实现现在还想不到。所以就使用了VC对 type_info的扩充功能raw_name。 实现与源码如下: #include #include #i

2008-01-22 10:45:00 647

原创 默认参数的问题理解。

今天在CSDN上看到个 默认参数的问题 贴。 一看吓一跳,以前我对默认参数的理解和这位网友一样,对这问题很难做出解释,在DEV C++上多试了几次,终于得到答案,现拿出来分享。帖子:http://community.csdn.net/Expert/topic/4841/4841909.xml?temp=.3743402问题大概是这样:C++ primer中:“类模板的后续声明可以为模板参数

2006-06-25 18:19:00 1419

原创 uname函数初步封装

uname.h文件 :#ifndef _UNIX_UNAME_HPP#define _UNIX_UNAME_HPP/* author: piboye * email : [email protected] * date  : 2006.06.3 *///Header#include // unix namespace;namespace unix {// uname of un

2006-06-03 10:04:00 1376

原创 memory.h头文件封装

#ifndef _UNIX_LIB_MEMORY_HPP#define _UNIX_LIB_MEMORY_HPP/* author: piboye * email : [email protected] * date  : 2006.06.2  *///头文件#include#includenamespace UNIX {class Mem //提供内存操作,但不提供内存管理;

2006-06-02 16:28:00 4460 1

原创 一维数组的简单封装 carray模板。

#ifndef CARRAY_HEADER#define CARRAY_HEADER//这个程序取材于 Bjarne Stroustrup 的《The C++ Programming Language》,后经过加强和改正。//作者是:Piboye#include namespace piboye {templateclass carray{   char i_data[sizeof(T)*

2006-04-27 07:24:00 1586

原创 实数类型的封装 real template

实数类型一直我们容易误用的东西,特别是在比较大小的时候。经验丰富的人,可能能很容易写出这样的代码:if(lear+0.13.4) 来表示 lear==3.4 这样一个意思。但每次都这样写,麻烦,也缺少全局统一。下面这个real.h文件就是我写的一个 real模版:#ifndef REAL_TYPE_PIBOYE_HEADER#define REAL_TYPE_PIBOYE_HEADER/*

2006-04-21 13:53:00 1469

原创 C++ 引用用法

引用很多人知道,但去不常用。个人认为广泛使用,因为它可以给我们带来许多好处。例一:函数参数使用引用 void f(Class_A const & a_object);这是引用最常用到地方。以前C中是使用指针,但指针有很多弊端。    其一就是可能传入零指针,这给写函数的带来了很大的负担(因为他要考虑这种错误使用,而大家都知道异常处理是最复杂难缠的了)。    其二就是它给使用者带来很多不便,每次都

2006-02-24 08:14:00 4937 6

原创 缺省构造作为函数参数缺省值的优化

我们经常在看到这样的函数声明:int f(double,MyClass=MyClass());不仅是我们写的代码,std库中也经常这样写。仔细想想,如果这个函数多次使用这个缺省值那就会调用多次构造函数,这样一来效率就降低了。下面是我针对,这中情况写的一个Zero模板。Zero只有一个可用的接口就是value,value()会返回默认值。其中还对基本数值类型进行了特别优化,这样只是为了全面,如果直接

2005-12-29 11:48:00 1922 1

原创 强大sizeof

sizeof 对于学过 c的来说很熟悉了。   c中经常这样用:   sizeof(int);   sizeof(struct MyS);   char str[]="goodbye!";   sizeof(str);   sizeof("string ");   ... sizeof在C++中发生一个变化 就是可以对 函数进行求解。   int f(void);   sizeof(f); siz

2005-12-27 11:31:00 1745

原创 C++ 的一个友员错误 联想

  C++的友员,应该都是知道一点,但就是很能深入。今天我在DevC++上发现各问题。程序如下#include namespace C{class D{};void f() {    std::cout }}namespace B{using C::f;  //使用using 声明时出错,用using namespace C;就不会?? class A{ friend void f();};}in

2005-12-19 20:55:00 1051

curl 7.20.1 源码

windwos 下的curl包,用于取http,ftp等

2010-04-20

ruby devkit

ruby extend compile 需要的包。 包含 mingw 和 mysys

2010-04-20

emacs 配置,cedet

emacs 配置(cedet, ecb, yasnipped),改键工具

2010-03-31

chat is for vc6

chat is for vc6 good for you

2010-03-11

空空如也

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

TA关注的人

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