随笔分类 -  C++

C++ Tips: Adjustor thunk: what is it, why and how it works
摘要:转载自:http://blogs.msdn.com/b/oldnewthing/archive/2004/02/06/68695.aspxIf you find yourself debugging in disassembly, you'll sometimes find strange little functions called "adjustor thunks". Let's take ... 阅读全文

posted @ 2010-08-13 10:26 smwikipedia 阅读(537) 评论(0) 推荐(0)

lib和dll文件的区别和联系
摘要:.dll是在你的程序运行的时候才连接的文件,因此它是一种比较小的可执行文件格式,.dll还有其他的文件格式如.ocx等,所有的.dll文件都是可执行。.lib是在你的程序编译连接的时候就连接的文件,因此你必须告知编译器连接的lib文件在那里。一般来说,与动态连接文件相对比,lib文件也被称为是静态连接库。当你把代码编译成这几种格式的文件时,在以后他们就不可能再被更改。如果你想使用lib文件,就必须... 阅读全文

posted @ 2009-12-25 15:25 smwikipedia 阅读(405) 评论(0) 推荐(0)

修练8年C++面向对象程序设计之体会
摘要:原文:http://pcedu.pconline.com.cn/empolder/gj/c/0504/609482.html 六年前,我刚热恋“面向对象”(Object-Oriented)时,一口气记住了近十个定义。六年后,我从几十万行程序中滚爬出来准备写点心得体会时,却无法解释什么是“面向对象”,就象说不清楚什么是数学那样。软件工程中的时髦术语“面向对象分析”和“面向对象设计”,通常是针对“需求... 阅读全文

posted @ 2009-04-06 21:16 smwikipedia 阅读(264) 评论(0) 推荐(0)

内存对齐与ANSI C中struct型数据的内存布局
摘要:【引用自:http://blog.csdn.net/soloist/archive/2004/12/12/213717.aspx】 当在C中定义了一个结构类型时,它的大小是否等于各字段(field)大小之和?编译器将如何在内存中放置这些字段?ANSI C对结构体的内存布局有什么要求?而我们的程序又能否依赖这种布局?这些问题或许对不少朋友来说还有点模糊,那么本文就试着探究它们背后的秘密。 ... 阅读全文

posted @ 2008-06-25 23:01 smwikipedia 阅读(311) 评论(0) 推荐(0)

i++ : 顺序点(sequence point) 与 副作用 (side effect)
摘要:表达式的计算分为两种,一种是有副作用的计算,如: (++x)+y 一种是无副作用的计算,如: x*y 有副作用的计算中,子表达式的计算顺序是重要的。例如 (++x)*(x+1) 当x=0时,如果先算++x,上式计算结果为2,如果先算x+1,上式计算结果为1。 再如,对函数g(int, int)的调用g(x, ++x), 当x=1,这个调用是g(1, 2)还是g(2, 2)? 所... 阅读全文

posted @ 2008-06-25 22:39 smwikipedia 阅读(7494) 评论(2) 推荐(2)

ubuntu下C/C++基本开发环境的配置
摘要:首先更改源,可以参考另外一篇关于源设置的文章 QUOTE: sudo cat > /etc/apt/sources.list 把下面的东东贴到里面 QUOTE: deb http://ubuntu.cn99.com/ubuntu/ gutsy main restricted universe multiverse deb http://ubuntu.cn99.com/ubuntu/ guts... 阅读全文

posted @ 2008-05-31 17:26 smwikipedia 阅读(2425) 评论(0) 推荐(0)

Memory Layout for Multiple and Virtual Inheritance
摘要:Memory Layout for Multiple and Virtual Inheritance (By Edsko de Vries, January 2006) 原文链接:http://www.phpcompiler.org/doc/virtualinheritance.html In this article we explain the object layout implem... 阅读全文

posted @ 2008-05-27 02:37 smwikipedia 阅读(380) 评论(0) 推荐(0)

C++ Objects Part 1: Basic Object Memory Layout
摘要:I spent a few minutes dissecting the C++ internal runtime structure for objects within Metrowerks CodeWarrior. There's some internal guts that C++ generates when you make objects; the format is not s... 阅读全文

posted @ 2008-05-26 21:26 smwikipedia 阅读(546) 评论(1) 推荐(0)

关于 override 和 overload
摘要:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了... 阅读全文

posted @ 2008-05-14 09:53 smwikipedia 阅读(297) 评论(0) 推荐(0)

关于 [虚函数] 和 [虚函数表]
摘要:以下转自:http://blog.csdn.net/cmoring/archive/2005/12/28/563582.aspx 每个含有虚函数的类有一张虚函数表(vtbl),表中每一项指向一个虚函数的地址,实现上是一个函数指针的数组。 虚函数表既有继承性又有多态性。每个派生类的vtbl继承了它各个基类的vtbl,如果基类vtbl中包含某一项,则其派生类的vtbl中也将包含同样的一项,但... 阅读全文

posted @ 2008-05-14 09:50 smwikipedia 阅读(544) 评论(0) 推荐(0)

导航