我正在寻找一种解决方案,当分配为结构的一部分时,GCC(Arm 嵌入式版本)能够告诉我变量是否根本不存在。
目前的例子根本没有警告,我想改变一下。
示例 1:
示例 1 有 3 个来自结构的变量: var1:已分配但从未在其他地方引用,因此我想将其删除 var2:甚至没有分配,在这里浪费 ram 没有意义,将其删除 返回:已分配并引用,一切正常。
因此我想在这里收到 2 个警告。
struct mydummy_t
{
bool var1;
bool var2;
int return;
};
static mydummy_t dummy;
int main()
{
dummy.var1 = true;
dummy.return = 15;
return dummy.return;
}
示例 2:
与示例一相同,但现在我们有一个类构造函数,它最初处理每个变量,但同样,并非所有变量都被引用。
struct mydummy_t
{
mydummy_t() : var1(false), var2(true), return(-1) {}
bool var1;
bool var2;
int return;
};
static mydummy_t dummy;
int main()
{
dummy.var1 = true;
dummy.return = 15;
return dummy.return;
}
最佳答案
你对编译器的要求太多了。如何知道此结构未在其他可能引用任何或所有这些成员的编译单元中使用? (此外,return
是 C++ 中的保留字。)
关于c++ - GCC - 结构内未使用的变量警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59092620/