任何人都知道从.c源代码到最终可执行文件的完整操作链.exe?
我已经下载了gcc的源代码,发现它c-parser.y也是用c编写的:
extdef:
fndef
| datadef
| ASM_KEYWORD '(' expr ')' ';'
{ STRIP_NOPS ($3);
if ((TREE_CODE ($3) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND ($3, 0)) == STRING_CST)
|| TREE_CODE ($3) == STRING_CST)
assemble_asm ($3);
else
error ("argument of `asm' is not a constant string"); }
| extension extdef
{ pedantic = $<itype>1; }
;
Run Code Online (Sandbox Code Playgroud)
所以任何人都知道c的自托管的完整故事?
UPDATE
我知道如何编写一些脚本编译器,其中大部分都依赖于c编译器.
所以我现在问c编译器是如何工作的.
GCC有一个多阶段的过程,但是从一个有效的C编译器开始(可能是也可能不是GCC的另一个版本).
| 归档时间: |
|
| 查看次数: |
288 次 |
| 最近记录: |