假设我有一个只有静态成员的类A。它的一个成员属于B类
class A {
//...
static B b;
}
在A.cpp文件中,我使用所有静态成员的构造函数初始化它们。
A.cpp:
B A::b(/*constructor arguments*/);
现在,在我的整个项目中,我从来没有使用过变量A::b。
这是否意味着编译器或链接器可以从最终的二进制文件中完全省略该变量的构造?
即使我从不使用这个变量,它的结构也会对系统配置产生影响。(例如,它可能会影响外围设备寄存器)。
我没有使用makefile。我正在使用Atmel studio for AVR uController