首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dwarf/dwarf2是否便于导出接受固定大小数组的函数的大小信息?

dwarf/dwarf2是否便于导出接受固定大小数组的函数的大小信息?
EN

Stack Overflow用户
提问于 2014-06-02 04:19:07
回答 1查看 159关注 0票数 1

假设一个C模块包含以下函数定义:

代码语言:javascript
复制
void foo(int (*a)[6]){...}

有没有可能从用gcc -g编译源文件时获得的dwarf信息(嵌入到生成的.o文件中)中提取参数'a‘的实际数组大小信息'6’?

我已经在目标文件上应用了'readelf -wi‘来获取dwarf信息,但是我找不到任何信息来派生固定的数组大小。

EN

回答 1

Stack Overflow用户

发布于 2014-06-05 10:34:22

在我使用Fedora 20系统的时候,它工作得很好,gcc。是否适用于其他版本的《gcc》,我不知道。我不记得在这方面有什么具体的变化,但是gcc确实发生了很大的变化。

不管怎么说,我用gcc的-g编写了一个类似上面的代码片段。然后我用"readelf -wi“检查了它。这将转储DWARF信息。我明白了:

代码语言:javascript
复制
 <1><57>: Abbrev Number: 4 (DW_TAG_array_type)
    <58>   DW_AT_type        : <0x6e>   
    <5c>   DW_AT_sibling     : <0x67>   
 <2><60>: Abbrev Number: 5 (DW_TAG_subrange_type)
    <61>   DW_AT_type        : <0x67>   
    <65>   DW_AT_upper_bound : 5        

..。参数"a“的类型。那里的子范围类型显示了边界。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23984098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档