请教关于gcc源代码的问题

发布于 2022-09-22 14:01:30 字数 117 浏览 32 评论 0

本人想稍微看一下gcc的源代码,只需要关于c与c++的部分。
但是下载gcc-4.3.2.tar.gz之后里面比较乱,什么ada,java,object-c 等等。
请问哪位大侠有没有相关的经验,能否指教一二?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

江城子 2022-09-29 14:01:30

C->AST->GIMPLE->RTL->ASM

toplev_main
        decode_option
        do_compile
                backend_init
                lang_dependent_init
                compile_file
我以前看的是gcc4.2.1,不知道现在结构如何,也许对你有帮助。

檐上三寸雪 2022-09-29 14:01:30

gcc-core-4.3.2.tar.bz2           C语言和GCC核心文件
gcc-g++-4.3.2.tar.bz2            C++实现部分

云巢 2022-09-29 14:01:30

原帖由 prolj 于 2008-11-16 12:28 发表
C->AST->GIMPLE->RTL->ASM

toplev_main
        decode_option
        do_compile
                backend_init
                lang_dependent_init
                compile_file
我以前看的是gc ...

请教一下,我想学习一下gcc的x86 backend实现, 应该针对那些目录?

意思是,我只想看gcc/config/i386/下的文件,但是建立cscope索引时,它会引用到上层目录。 对linux来说,直接make ARCH=x86 cscope就可以排斥其他ARCH来构建x86的cscope索引, 对gcc呢? 有没有类似的方式? 没有的话,我该选择哪些目录?

请止步禁区 2022-09-29 14:01:30

别怪偶打击LZ。
实话实说:连要看的"标的物"都没搞清楚在哪的话,还是不要看gcc源代码了。
gcc 实在是复杂,不适合用来学习编译器啊

や莫失莫忘 2022-09-29 14:01:30

原帖由 albcamus 于 2008-11-16 22:14 发表

请教一下,我想学习一下gcc的x86 backend实现, 应该针对那些目录?

意思是,我只想看gcc/config/i386/下的文件,但是建立cscope索引时,它会引用到上层目录。 对linux来说,直接make ARCH=x86 cscope就 ...

不好意思,不会用cscope。我就是ctags弄出来以后一个函数一个函数的跳,找不到的函数或者定义按照名字在文件里面搜索,方法很笨。
x86的文件就在gcc/config/i386/下面,可是在build gcc的gen_*些列函数时候会根据指定平台的md文件生成一系列的c文件和头文件,而emit_*系列函数在这些生成的c文件中。可能有些出入,手里没有gcc代码。
也许帮不上你什么。

酸甜透明夹心 2022-09-29 14:01:30

原帖由 prolj 于 2008-11-16 23:17 发表

不好意思,不会用cscope。我就是ctags弄出来以后一个函数一个函数的跳,找不到的函数或者定义按照名字在文件里面搜索,方法很笨。
x86的文件就在gcc/config/i386/下面,可是在build gcc的gen_*些列函数时候会 ...

阿姨先别谦虚,就说ctags,你都排除了哪些arch目录? 还是所有arch目录都包含了?

掀纱窥君容 2022-09-29 14:01:30

汗,你也去清茶啊?
我没有排除任何目录啊,不知道怎么弄Linux build那么好用的东西。跳转的时候不是可以选吗?看不是x86的就不跳过去啊。我对平台相关部分不熟悉,对Arch正在熟悉中...

[ 本帖最后由 prolj 于 2008-11-17 23:27 编辑 ]

淡笑忘祈一世凡恋 2022-09-29 14:01:30

用不到我才不看

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文