我正在尝试使用 gcc 工具(使用 RTOS)将 c++ 应用程序移植到 arm 板上。但是我的静态 const 构造函数没有被调用。
简单代码:
class TestClass {
public:
TestClass();
TestClass(int m);
TestClass(const TestClass& other);
~TestClass();
int getM() const;
const TestClass& operator = (const TestClass& other);
private:
int m;
};
class TestInitClass {
static const TestClass TestClassObj;
};
const TestClass TestInitClass::TestClassObj = TestClass(5);
我提供类定义。但是当我用 TestInitClass::TestClassObj.getM() 调用它时,它返回我 0。
有多个问题:
- 我的静态常量被分配在 .bss 部分。它没有进入 .ctors 部分(这可能是链接描述文件问题?!)
- 即使它进入 .ctors 部分,我如何调用这些构造函数
- 当我使用静态 c++ 库时,我应该如何调用它们?
谢谢