摘要: 静态联编 静态联编是指联编工作出现在编译连接阶段,这种联编又称早期联编,它解决了程序中的操作调用与执行该操作代码间的关系。动态联编 编译程序在编译阶段并不能确切知道将要调用的函数,只有在程序执行时才能确定将要调用的函数,为此要确切知道该调用的函数,要求联编工作要在程序运行时进行,这种在程序运行时进行联编工作被称为动态联编。为什么会有两种联编?动态联编的功能明显比静态联编强大,但是从效率的执行来看,静态联编在编译连接阶段就完成决策,而动态联编为了使程序能够在运行阶段惊醒决策,必须采取一些方法来跟踪基类指针或引用指向对象类型,这增加了额外的处理开销。基于C++知道原则:不要为不适用的特性付出代.. 阅读全文
posted @ 2012-03-07 22:15 Kang... 阅读(972) 评论(0) 推荐(0)
摘要: 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。 自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。 全局/静态存储区,全局变量和静... 阅读全文
posted @ 2012-03-06 23:21 Kang... 阅读(363) 评论(0) 推荐(0)