链接器删除静态初始化程序

时间:2017-11-05 09:51:54

标签: c++

我正在使用的框架改变了它的构建过程,我注意到我初始化工厂功能的旧策略失败了。这是一个新的链接步骤,框架构成了一个中间库。

我有一个工厂和一些CPP文件,其中包含运行时可能需要的UI类。

UI类CPP文件可能以一行结尾:

static FactoryRegister<SomeObject> regSomeObject{"some_object_id"};

FactoryRegister构造函数使用提供的字符串将对象类型注册为ID,因此在构建UI时,我们可以按名称获取所有UI小部件。

由于对框架的更改,不再调用regSomeObject的构造函数。我猜测链接认为整个事情都是死代码并且已经为我优化了所有内容。我的注册策略是否开始愚蠢?什么是好方法?

(这是在OSX上使用Xcode工具 - Windows版本工作正常!)

0 个答案:

没有答案