![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
gcc源码分析
itupipa
无
展开
-
入口 gcc-4.6.0/gcc/gcc.c
gcc程序入口。分析gcc工作流程的起点。 示例:执行命令: /usr/bin/gcc -o /home/malele/hello.o /home/malele/hello.cmain函数----------------------------输入: int argc,参数个数; char **argv,参原创 2013-01-15 09:05:36 · 521 阅读 · 0 评论 -
gcc预处理器--libcpp--词法分析
参考:http://gcc.gnu.org/onlinedocs/cppinternals/词法分析:http://code.woboq.org/gcc/libcpp/lex.c.html_cpp_lex_direct_cpp_lex_tokencpp_get_token翻译 2013-01-22 10:08:56 · 968 阅读 · 0 评论 -
gcc预处理器--文件处理
文件libcpp/files.c负责文件搜索,打开,读取,缓存。处理主要源代码以及递归包含的头文件。基本策略是使系统调用的个数最少。在一些系统中,open() , fstat()一类的函数花销很大。每一个#include-d 文件,需要搜索所有的文件或者目录直到找到目标。一些项目中,如glibc,在调用命令中指明了20-30个库目录,这使得搜索十分耗时。翻译 2013-01-22 12:01:42 · 368 阅读 · 0 评论 -
gcc灰盒测试--调用不同阶段的遍处理
参考:First Level Gray Box Probing1,查看gcc的优化命令: gcc -c --help=optimizers // gcc -c -O2 --help=optimizers -Q //查看gcc当前优化设置2,编译并输出中间文件: gcc -fdump-tree-all -fdump-ipa-原创 2013-01-21 11:43:56 · 361 阅读 · 0 评论 -
gcc中的‘遍处理’概览--pass
gcc-**/gcc/passes.c: 源码参考http://code.woboq.org/gcc/gcc/passes.c.html解析参考:First Level Gray Box Probinggcc中239个遍处理程序。有的会在不同的地方被多次调用,条件常量(conditional constant)的传播(propagation)和不可达代码(dead code)的删除原创 2013-01-21 10:55:17 · 624 阅读 · 0 评论