gpt4 book ai didi

c - 如何在 C 中自动打印结构值(如 gdb ptype)?

转载 作者:太空狗 更新时间:2023-10-29 15:42:21 27 4
gpt4 key购买 nike

这个问题在我脑海里久久萦绕。 我们知道,我们在调试时可以很方便地在GDB中打印数据结构,比如gdb ptype命令,可以输出结构的所有字段值。我知道 GDB 使用 bfd 库来读取目标文件中的符号信息。 我的问题是:如果我想在我的 C 源代码中这样做,该怎么做?因为我不想一个一个地打印结构的每个字段。有没有现成的库来解决这个问题? 我认为该库不仅可以满足我的要求,而且对许多其他程序员在编写 C/C++ 代码时也将非常有用。

最佳答案

就C而言,这样的库是不可能存在的。

你可以做的是编写一种编译器类工具,它采用某种语言的 struct 描述,并生成一个带有 C 中的 struct 声明的头文件,以及一个源代码带有打印代码的文件。此类工具确实存在(例如 protobuf-c),但它们主要面向高效的二进制序列化,而不是 C 数据的人类可读表示。

关于c - 如何在 C 中自动打印结构值(如 gdb ptype)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7466511/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com