GCC 处理 const 字符串的过程是什么?
What's the pass in GCC handles const strings?
GCC 中处理将字符串数组构建到 .rodata 部分的过程名称是什么?想写一个插件来拦截源代码中的字符串,我知道binutils中有很多工具可以实现相同的目标,但是如果我们想做一些后处理,例如验证单词怎么办。
Read-only数据段,也称为.rodata
,在所有rtl passes的最后一步之后生成。您可以在位于 /gcc
文件夹中的文件 varasm.c 中查看它是如何工作的。查看部分
section *
default_function_rodata_section (tree decl)
及以下。
您还可以轻松地添加一些函数来将数据截取到 asm
文件或其他输出文件中,或者编写一个外部函数。
varasm.c
文件处理所有汇编代码的生成
except一个函数的说明。
这包括变量声明及其初始值。
GCC 中处理将字符串数组构建到 .rodata 部分的过程名称是什么?想写一个插件来拦截源代码中的字符串,我知道binutils中有很多工具可以实现相同的目标,但是如果我们想做一些后处理,例如验证单词怎么办。
Read-only数据段,也称为.rodata
,在所有rtl passes的最后一步之后生成。您可以在位于 /gcc
文件夹中的文件 varasm.c 中查看它是如何工作的。查看部分
section *
default_function_rodata_section (tree decl)
及以下。
您还可以轻松地添加一些函数来将数据截取到 asm
文件或其他输出文件中,或者编写一个外部函数。
varasm.c
文件处理所有汇编代码的生成
except一个函数的说明。
这包括变量声明及其初始值。