Re: C++ exception implementation (tangent)

看板DFBSD_kernel作者時間21年前 (2005/02/04 21:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
On Thu, Feb 03, 2005 at 09:32:29PM -0500, David Cuthbert wrote: > Greg 'groggy' Lehey wrote: > >You'll notice that [C++ exceptions are] implemented with > >setjmp()/longjmp(). > > Is this the current state of g++? The current GCC C++ frontend supports multiple mechanisms for exception handling, setjmp/longjmp is one of them. > I thought -- perhaps incorrectly -- that EDG-based compilers used lookup > tables based on the PC. This imposes no performance hit in the cases > where the exception isn't invoked -- it's popular for this reason. I > thought that g++ was heading in this direction, but I haven't been > following the changes terribly closely. I'm pretty sure this is exactly the case. IIRC there's still a minor performance penalty for exception setup, but it's very small compared to the older approach. Joerg
文章代碼(AID): #120tbU00 (DFBSD_kernel)
文章代碼(AID): #120tbU00 (DFBSD_kernel)