摘要: 联编就是将模块或者函数合并在一起生成可执行代码的处理过程,同时对每个模块或者函数调用分配内存地址,并且对外部访问也分配正确的内存地址,它是计算机程序彼此关联的过程。按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。静态联编是指在编译阶段就将函数实现和函数调用关联起来,因此静态联编也叫早绑定,在编译阶段就必须了解所有的函数或模块执行所需要检测的信息,它对函数的选择是基于指向对象的指针(或者引用)的类型,C语言中,所有的联编都是静态联编,据我所知道的,任何一种编译器都支持静态联编(废话)。动态联编是指在程序执行的时候才将函数实现和函数调用关联,因此也叫运行时绑定或者晚绑定,动 阅读全文
posted @ 2013-08-26 20:13 四通大哥 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 1.介绍顺序存储容器: string、vector、list、deque关联存储容器:map底层采用的是树型结构,多数使用平衡二叉树实现,查找某一值是常数时间,遍历起来效果也不错, 只是每次插入值的时候,会重新构成底层的平衡二叉树,效率有一定影响.set 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了2.stringstring是basic_string的实现,在内存中是连续存放的.为了提高效率,都会有保留内存,如string s 阅读全文
posted @ 2013-08-26 20:10 四通大哥 阅读(903) 评论(0) 推荐(0) 编辑
摘要: 方法一:1.先通过git reflog找到上一次的历史提交记录id,git如果没有特意设置,是会保存记录一段时间的(a few days or a month)2.git reset --hard [id]方法二:git reset --hard HEAD@{1}直接回到刚才的那个结点,{}中表示的是结点的序号方法一的例子如下:$ git initInitialized empty Git repository in .git/$ echo "testing reset" > file1$ git add file1$ git commit -m 'added 阅读全文
posted @ 2013-08-26 20:02 四通大哥 阅读(9520) 评论(0) 推荐(0) 编辑