Tag: 程序集

为什么GCC编译C程序需要.eh_frame部分?

测试是在32位x86 Linux上使用gcc 4.6.3 当使用gcc编译C程序并使用readelf检查部分信息时,我可以在里面看到.eh_frame部分和.eh_frame_hdr部分。 例如,这是二进制程序Perlbench的部分信息。 readelf -S perlbench There are 28 section headers, starting at offset 0x102e48: Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .interp PROGBITS 08048154 000154 000013 00 A 0 0 1 [ 2] .note.ABI-tag […]

Alloca实施

如何在D,C和C ++等语言中使用内联x86汇编程序实现alloca()? 我想创建一个稍微修改过的版本,但首先我需要知道标准版本是如何实现的。 从编译器中读取反汇编并没有帮助,因为它们执行了很多优化,我只想要规范forms。 编辑:我想困难的部分是我希望它具有正常的函数调用语法,即使用裸函数或其他东西,使它看起来像普通的alloca()。 编辑#2:啊,到底是什么,你可以假设我们没有省略帧指针。