当我意识到我实际上并不了解它们所扮演的角色时,我正在尝试构建libcxx
// libcxxabi
。libunwind
我检查了libcxxabi spci,发现它定义了 C++ 异常中使用的 API。libunwind
但是我找不到任何libunwind
关于libcxxabi
.
那么,libunwind
真的是这样,在中实现 ABI libcxxabi
,如果是,为什么我们有libcxxabi
?
当我意识到我实际上并不了解它们所扮演的角色时,我正在尝试构建libcxx
// libcxxabi
。libunwind
我检查了libcxxabi spci,发现它定义了 C++ 异常中使用的 API。libunwind
但是我找不到任何libunwind
关于libcxxabi
.
那么,libunwind
真的是这样,在中实现 ABI libcxxabi
,如果是,为什么我们有libcxxabi
?
我建立了自己并通过使用libunwind
检查了符号并得到了这些:libunwind
nm
nm: libunwind.cpp.o: File format not recognized
nm: Unwind-EHABI.cpp.o: File format not recognized
nm: UnwindLevel1.c.o: File format not recognized
nm: UnwindLevel1-gcc-ext.c.o: File format not recognized
nm: Unwind-sjlj.c.o: File format not recognized
UnwindRegistersRestore.S.o:
0000000000000000 T _ZN9libunwind16Registers_x86_646jumptoEv
UnwindRegistersSave.S.o:
0000000000000000 T unw_getcontext
这似乎意味着libunwind
只实现了展开功能,没有别的。