首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keil armcc生成类型信息名称,即使使用--no_rtti_data

Keil armcc生成类型信息名称,即使使用--no_rtti_data
EN

Stack Overflow用户
提问于 2018-09-20 20:44:47
回答 1查看 50关注 0票数 0

我在Kil5.25中使用ARM编译器5 (ARMCC)。我在用c++11。

我使用的是c++11和自制的std::function的类似物(因为在由armcc提供的STL中没有std::function )。最近,我注意到我的二进制文件包含了一些奇怪的字符串,比如N8callback14DelegateLambdaIZN5tasks13BatteryTask_t6worker等等。

我在链接器.map文件中查找了它们的地址,发现它们是我的一些lambda的"typeinfo name“。

我很确定我不需要这个名字也不用它们。但是编译器仍然会生成它们,即使使用--no_rtti和--no_rtti_data,即使有反馈,链接器也不会丢弃它们。

我怎么才能摆脱他们?它们往往占用相当大的空间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-20 11:00:27

我联系了ARM支持,得到了这个问题的答案(不是确切的引号),这是编译器本身的一个问题,而且由于armcc现在处于维护支持之下,这不太可能很快被修复。

作为一种解决办法,他们建议使用编译器选项--no_vfe,但这会导致代码大小的增加(在我的例子中根本不起作用)。

为了更好地支持c++11迁移到armclang,建议。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52433046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档