首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用rtti的后果?

禁用rtti的后果?
EN

Stack Overflow用户
提问于 2014-10-17 00:50:28
回答 2查看 973关注 0票数 0

g++和clang++都有使用-fno-rtti禁用RTTI的选项。

这样做的所有后果是什么?

EN

回答 2

Stack Overflow用户

发布于 2014-10-17 00:57:08

您应该参考有关GCC和Clang的文档。以下是GCC的documentation的摘录

-fno-rtti

禁止生成有关每个具有虚函数的类的信息,以供C++运行时类型标识功能(dynamic_casttypeid)使用。如果你不使用语言的这些部分,你可以通过使用这个标志来节省一些空间。请注意,异常处理使用相同的信息,但它将根据需要生成这些信息。dynamic_cast运算符仍然可以用于不需要运行时类型信息的强制转换,即强制转换为void*或明确的基类。

这意味着如果你没有使用typeid()dynamic_cast,那么它应该是可以的。

票数 5
EN

Stack Overflow用户

发布于 2014-10-17 00:57:22

使用RTTI的主要功能是dynamic_cast<>typeid,因此您将无法使用它们。

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

https://stackoverflow.com/questions/26409786

复制
相关文章

相似问题

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