1

我正在使用 GCC 的-fdump-translation-unit选项来解析 C 枚举/结构/联合/数组。考虑下面的代码

enum eDAY
{
    monday = 0,
    tuesday,
    wednesday
};

enum eDAY day = monday;

我可以让枚举器的所有成员解析 GCC 的转储。

但是如果以下声明不存在

enum eDAY day = monday;

GCC 的转储没有关于枚举器成员的任何信息。结构/联合等也存在同样的问题。我该如何解决这个问题。是否有某种优化标志需要关闭,以便 GCC 解析所有对象,即使它没有被使用?

4

1 回答 1

1

-fdump-translation-unit 是 CPP 选项。如果上面的代码存在于 .cpp 文件中,或者如果我们在上面的代码片段上运行带有标志 -fdump-translation-unit 的 g++,我们将获得关于代码中所有内容的信息(即使有一个未使用的变量)。

于 2013-08-27T13:44:04.753 回答