- 博客(13)
- 收藏
- 关注
原创 endianness
http://en.wikipedia.org/wiki/Endianness static uint32_t endianness = 0xdeadbeef; enum endianness { BIG, LITTLE }; #define ENDIANNESS ( *(const char *)&endianness == 0xef ? LITTLE /
2010-02-28 21:47:00
627
原创 文件系统变化通知
文件系统变化通知首先要明白一点什么是“文件系统变化”?其实也就是操作系统中一个磁盘的目录结构发生了变化,当你要监视这种变化时,在Win32下可以使用FindFirstChangeNotification函数,HANDLE FindFirstChangeNotification(LPTSTR lpszPath,BOOL fWatchSubTree,DWORD fdwFilter);参数说明:
2007-07-12 22:40:00
1597
原创 重庆初印1
路过重庆好几次了,都是匆匆借过。从来没有停下来看看,这回终于有了一天的时间,体会重庆的味道。当然先到的是菜园坝火车站,然后经两路口,到解放杯。我不是文人,不能从深处体会重庆。但感觉重庆和其它商业城市差不多,没有太特别的地方。虽然有N多上坡下坡,立交桥,过山洞,但这些都不是重庆的真正特点。重庆人的脸才是重庆这个城市的真正名片,重庆城市文化的继承者和创造者。解放杯固然有很多美女,但她们并没有所表现重庆
2007-07-12 22:01:00
1304
原创 对临时对象的一点思考
在一个块作用域或者函数体内的临时变量(非指针),例如C1 f(){ C1 c; return c; }此时返回值是个临时变量,不是c,而是C1(c)构建的一个临时变量C1& f(){ C1 c; return c; }此时返回值是一个refernce故非临时变量,是对变量c的一个引用,而由于c的作用域已经结果即c已经消亡,故该reference是未定的一个对象,故此写法不合适在完面调用时C
2007-06-22 16:23:00
778
原创 Template学习小记
14.1 Template parameter2. There is no semantic difference between class and typename in a template-parameter.//在其它地方typename可以指导编译器解释模版定义,告诉编译器哪些表达式是类型表达式(from c++ primer3ed)4.A non-type template-pa
2007-06-22 16:21:00
1094
原创 完成了一个潮流计算程序
用C++实现了一个潮流计算程序,是高斯-塞得尔潮流计算使用了boost,STL库,从文件中读入原始数据,格式为THFormat在程序中实现了个元件类从文件中读取自动生成的方法,设计时模仿了MFC中得Runtime_class的宏,定义了两个宏,一个宏用于在类的定义中(h),展开后是一个静态常量(int型)声明,两个宏用于在类的实现中,展开后是那个静态常量的定义主要完成向BuildMa
2007-06-05 17:26:00
5253
1
原创 调用约定的说明(calling convention)
1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈,2、_cdecl是C和C++程序的缺省调用方式。每一个调用它的函数都包含清空堆栈的代码,所以产生的可执行文件大小会比调用_stdcall函数的大。函数采用从右到左的压栈方式。注意:对于可变参数的成员函数,始终使用__cdecl的转换方式。3、__fastcall调用约定:它是通过寄存器来
2007-05-31 15:49:00
877
转载 成员函数指针与高性能的C委托(中篇)
成员函数指针——为什么那么复杂? 类的成员函数和标准的C函数有一些不同。与被显式声明的参数相似,类的成员函数有一个隐藏的参数this,它指向一个类的实例。根据不同的编译器,this或者被看作内部的一个正常的参数,或者会被特别对待(比如,在VC++中,this一般通过ECX寄存器来传递,而普通的成员函数的参数被直接压在堆栈中)。this作为参数和其他普通的参数有着本质的不同,即使一个成员函数受一个
2007-05-30 11:50:00
695
原创 成员函数指针与高性能的C++委托(上篇)[转帖]
标准C++中没有真正的面向对象的函数指针。这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它宝贵的价值。在Delphi (Object Pascal)中,面向对象的函数指针是Borland可视化组建库(VCL,Visual Component Library)的基础。而在目前,C#使“委托”的概念日趋流行,这也正
2007-05-30 11:47:00
603
原创 编译boost库-用vc2005编译boost1.33.1
//打开控制台窗口,请使用vs2005在开始菜单中的“Visual Studio Tools->Visual Studio 2005 命令提示”打开控制台,这样vc的的编译环境就设置好了。//假设boost安装包的解压的目录为{BOOST_SRC}中。//先编译出bjam.exe,它被用于安装boost库cd {BOOST_SRC}/tools/build/jam_srcbuild.bat//利用
2007-05-25 16:32:00
693
原创 Boost介绍
Boost介绍 根据Boost网站的介绍,Boost是“一个免费的,可移植的,同步评测的C++库,Boost堪称是新类库的典范,特别是其中那些能够与ISO C++标准库良好的协同工作的库。”但是Boost不仅仅是一个库的集合。它也是一个快速发展的开发者社区,这些开发者创建,使用以及参与讨论Boost库。Boost社群不仅仅是维护着这个库,而且还为它的使用者和设计者提供学习交流的场所。这个库堪称
2007-05-25 14:55:00
1355
原创 C++开源跨平台类库集
在如下的库支持下,开发的系统可以很方便移植到当前大部分平台上运行而无需改动,只需在对应的平台下 用你喜欢的编译器 重新编译即可 经典的C++库STLport-------SGI STL库的跨平台可移植版本,在以前有些编译器离符合标准比较远的情况下 那时还是有用的,当然目前vc71已经比较接近标准了,故目前不怎么用它了。Boost---------准标准库, 功能强大 涉及能想的到的大部分非特别领域
2007-05-23 15:12:00
561
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人