【发布时间】:2021-02-24 02:54:51
【问题描述】:
我需要一种方法来提取 C 源代码中函数内所有局部声明变量的列表及其行号。有没有可能的方法..我需要这个列表在局部变量声明之后添加和初始化存根变量。
【问题讨论】:
我需要一种方法来提取 C 源代码中函数内所有局部声明变量的列表及其行号。有没有可能的方法..我需要这个列表在局部变量声明之后添加和初始化存根变量。
【问题讨论】:
在 C 程序的上下文中?
没有。局部变量在 C 代码中并不真正“存在”。它们都是为方便程序员而设计的。这是因为人类在记住随机 64 位数字和可变长度机器操作码方面确实很糟糕。
您可以通过外部工具执行此操作,但这些工具在编译时不起作用,并且无法更改已编译的代码。
您问的是“反射”,而 C 基本上具有 零 反射功能。要么定义并编译某些东西,要么没有定义和编译。无法询问是否定义了某些函数或变量并更改代码的行为。
您拥有的唯一工具是用于预处理的#define 宏,虽然您可以通过这些获得非凡的创意和狡猾,但您可以做的事情是有限的,更重要的是,应该做的事情。
【讨论】: