![]() | 1 ipwx 2018-03-09 15:41:06 +08:00 longjmp? |
![]() | 2 innoink 2018-03-09 15:48:41 +08:00 via Android 这和图灵机有什么关系,哪个语言不是图灵机? |
![]() | 3 dandycheung 2018-03-09 15:52:21 +08:00 via Android 这么复杂的专业领域知识,为什么不先去读读相关著作再来提问呢? |
![]() | 4 htfy96 2018-03-09 15:55:15 +08:00 ![]() 没有规定实现,不过可以看看 http://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html#cxx-abi 的 2.4/2.5 |
![]() | 5 NagisaFurukawa 2018-03-09 15:59:32 +08:00 SEH 了解一下 |
![]() | 6 ysc3839 2018-03-09 16:29:13 +08:00 编译后逆向看看就知道了。不同编译器可能有不同实现的。 |
![]() C++的代码和具体的机器指令又没有必然的联系."高层抽象"了解一下.首先 C 和 C++就不保证一定是 1.编译的 2.编译目标是机器指令.其次 C++的 implementation 完全可以自己插入需要的代码来获得符合要求的实现:RAII 不就是这样做的吗.POSIX 和 MINGW 的 GCC 以及 POSIX 下的 Clang 有两种异常的实现:SJLJ 和 Dwarf.Windows 下的 MSVC 和 Clang-cl 对异常的实现则是 Windows 的 SEH.不同异常的实现属于这个实现的 C++ ABI 的一部分,所以即使是同一个平台下的同一个 implementation,如果其对异常处理的实现不同的话一般情况下也是不能保证其 ABI 是互相兼容的.特别是 SJLJ,Dwarf 和 SEH 这三者两两之间 ABI 互不兼容. |
8 julyclyde 2018-03-10 11:48:34 +08:00 要抱着孤立和分层的观点看问题 并不是每两个事务之间都有直接关系 |
![]() | 9 tailf OP 学习了 |