随笔分类 -  gcc源码分析

上一页 1 2

gcc的模版匹配及其它
摘要:一、gcc的模版匹配实现 1、主体函数 gcc的代码实现现在看起来依然晦涩,所以下面的分析只是大致的一个意会过程,没有精确详细的描述。以gcc4.1.0版本为例,模版特殊化的具体判断主要在gcc-4.1.0\gcc\cp\pt.c:most_specialized_class函数完成,从代码中可以看 阅读全文

posted @ 2019-03-07 09:43 tsecer 阅读(339) 评论(0) 推荐(0) 编辑

gcc如何将常量除法转换为乘法及移位
摘要:一、强度削弱 之前在偶尔看gcc对于除以一个常数的表达式生成的汇编代码中,发现一条除法表达式生成的汇编指令非常多,这些指令中没有乘法操作,比较明显的特征就是进行了一个大整数的乘法,之后是移位啊、减法啊什么的操作,虽然不知道是什么意思,但是感觉很厉害的样子。 后台就觉得这应该是一个优化,搜索了一下,看 阅读全文

posted @ 2019-03-07 09:42 tsecer 阅读(1031) 评论(1) 推荐(0) 编辑

gcc的异常处理机制
摘要:一、序言这个异常处理可以说是C++语法中一个重要的组成部分,但是在使用中很少有人认真的研究过它的实现,甚至在工程中使用这个工具的人都很少,加上我之前对于C++的使用也是大概在windows下使用了两年,所以一些基本的问题我也不是很熟悉。但是对于windows下的结构化异常处理方法,在Matt pie 阅读全文

posted @ 2019-03-07 09:26 tsecer 阅读(2190) 评论(0) 推荐(0) 编辑

linux下g++从异常中还原异常类型
摘要:一、异常终止在C++中,如果有一个异常没有被任何人捕捉,此时默认的处理是将进程终止掉,终止的时候使用的信号是sigabrt。好在内核对于这种信号的默认处理是会生成一个coredump文件,对于一些服务器来说,通过core文件可以知道当时的进程信息,如果附带了调试信息,那么调用的堆栈信息清晰可见。理想 阅读全文

posted @ 2019-03-07 09:25 tsecer 阅读(875) 评论(0) 推荐(0) 编辑

C++构造函数初始化相关操作
摘要:一、构造函数构造函数在C++中扮演着基础性的功能,再加上成员的初始化列表,问题就变的更加有意思的。通常也是机械性的写类和对应的构造函数,然后再对成员在初始化列表中对必要的成员进行初始化操作,例如对于一些整数类型赋值为非法初始值,以区分和识别一些未初始化的变量。但是在大部分情况下,我们并煤油灯对于一些 阅读全文

posted @ 2019-03-07 09:22 tsecer 阅读(650) 评论(0) 推荐(0) 编辑

gcc虚函数表生成时机
摘要:一、虚函数表每个包含有虚函数的类都会有一个所有对象共享的虚函数表,既然是所有实例共享,那么就涉及到可能出现“三个和尚没水喝”的情况。这个虚函数表既然是大家都要使用的,那么有谁来生成呢?最为保险但是低效的办法就是每个编译单元都生成一个,变量声明为weak,放入comdat节中,最后由连接器删除重复的冗 阅读全文

posted @ 2019-03-07 09:17 tsecer 阅读(957) 评论(0) 推荐(0) 编辑

上一页 1 2

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示