这个问题对于嵌入式开发尤为重要.异常处理为生成的二进制输出增加了一些空间.另一方面,没有例外,错误需要以其他方式处理,这需要额外的代码,这最终也会增加二进制大小.
我对你的经历很感兴趣,特别是:
请仅以我的问题为指导.欢迎任何输入.
附录:对于特定的C++对象/可执行文件,是否有任何人具有具体的方法/脚本/工具,它将显示由编译器生成的代码和专用于异常处理的数据结构占用的已加载内存占用的百分比?
在C++中测量异常处理开销/性能的最佳方法是什么?
请提供独立的代码示例.
我的目标是Microsoft Visual C++ 2008和gcc.
我需要从以下案例中获得结果:
一般来说,我倾向于使用try/catch代码,这些代码具有多个故障点,故障具有公共处理程序.
根据我的经验,这通常是在执行某些操作后执行某些操作或输出之前限定输入或上下文的代码.
我收到了文献和同事的建议,以尽量减少这些块中的代码,我接受这一点作为一般的好建议.
我想更多地了解上述建议的基础:
在此先感谢您的帮助,
AJ
我已经阅读了很多关于C++异常和我看到的内容,特别是异常性能是一个难题.我甚至试图在g ++的内幕下看看如何在汇编中表示异常.
我是C程序员,因为我更喜欢低级语言.前段时间我决定使用C++而不是C,因为它的成本很低,它可以让我的生活更轻松(类比结构,模板等).
回到我的问题,因为我看到异常只会在它们发生时生成开销,因为它需要一长串的跳转和比较指令才能找到合适的异常处理程序.在正常的程序执行中(没有错误),异常开销等于正常的返回代码检查.我对吗?