Detailed Explanation of the C++ Object Model References

I believe the references in this book are also worth considering, so I have listed them here for everyone’s reference.1. Design and Evolution of the C++ Language https://book.douban.com/subject/35198313/2. https://stackoverflow.com/questions/4993650/what-is-sizeofsomething-0 3. https://stackoverflow.com/questions/47352663/how-can-this-structure-have-sizeof-0/47352751#473527514. https://stackoverflow.com/questions/36577094/array-of-size-0-at-the-end-of-struct5. https://stackoverflow.com/questions/4178175/what-are-aggregates-and-trivial-types-pods-and-how-why-are-they-special/7189821#71898216. https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html#Zero-Length7. https://en.cppreference.com/w/cpp/types/is_standard_layout.html8. https://en.cppreference.com/w/cpp/types/is_trivially_copyable.html9. https://learn.microsoft.com/en-us/cpp/cpp/trivial-standard-layout-and-pod-types?view=msvc-17010. In-Depth Exploration of the C++ Object Model11. https://en.cppreference.com/w/cpp/language/unqualified_lookup.html12. https://en.cppreference.com/w/cpp/language/injected-class-name.html13. https://www.justsoftwaresolutions.co.uk/cplusplus/hidden-friends.html14. https://preshing.com/20210315/how-cpp-resolves-a-function-call/15. https://gcc.gnu.org/legacy-ml/gcc-patches/2000-01/msg00574.html16. https://en.cppreference.com/w/cpp/language/copy_elision.html17. https://devblogs.microsoft.com/cppblog/guaranteed-copy-elision-does-not-elide-copies/18. https://www.artima.com/articles/pure-virtual-function-called-an-explanation19 C++ Template Guide 2nd20. https://github.com/gcc-mirror/gcc/blob/5d85b5d649fff675ff00adcc99371bccf4ef5944/libstdc++-v3/libsupc++/guard.cc#L4121. https://github.com/gcc-mirror/gcc/blob/5d85b5d649fff675ff00adcc99371bccf4ef5944/libstdc++-v3/libsupc++/vec.cc#L7822. https://en.cppreference.com/w/cpp/memory/new/operator_new23. https://en.cppreference.com/w/cpp/memory/new/get_new_handler24. https://en.cppreference.com/w/cpp/language/new.html25. https://en.cppreference.com/w/cpp/language/destructor.html26. https://maskray.me/blog/2021-11-07-init-ctors-init-array27. https://stackoverflow.com/questions/28101243/how-to-find-global-static-initializations28. https://etherealwake.com/2021/09/crt-startup/29. https://en.cppreference.com/w/cpp/language/initializer_list.html#Delegating_constructor30. https://en.cppreference.com/w/cpp/language/destructor.html31. https://isocpp.org/wiki/faq/ctors32. https://maskray.me/blog/2020-11-08-stack-unwinding#%E4%B8%AD%E6%96%87%E7%89%8833. https://maskray.me/blog/2020-12-12-c++-exception-handling-abi34. https://www.cnblogs.com/catch/p/3604516.html

35. https://www.cnblogs.com/catch/p/3619379.html

36. https://monoinfinito.wordpress.com/series/exception-handling-in-c/

37. https://dandylife.net/blog/archives/686

38. https://refspecs.linuxfoundation.org/abi-eh-1.22.html

39. https://stackoverflow.com/questions/14091231/what-do-the-eh-frame-and-eh-frame-hdr-sections-store-exactly

40. https://www.reddit.com/r/C_Programming/comments/dxhufk/getting_the_address_of_the_eh_frame_hdr_and_eh/

41. https://stackoverflow.com/questions/65200088/fetching-contents-of-eh-frame-section-from-the-elf-file

42. https://web.archive.org/web/20130111101034/http://blog.mozilla.org/respindola/2011/05/12/cfi-directives

43. https://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html

44. https://refspecs.linuxfoundation.org/LSB_2.1.0/LSB-Core-generic/LSB-Core-generic/ehframehdr.html

45. https://martin.uy/blog/understanding-the-gcc_except_table-section-in-elf-binaries-gcc/

46. https://llvm.org/docs/ExceptionHandling.html

47. https://www.airs.com/blog/archives/464

48. https://en.cppreference.com/w/cpp/language/exceptions.html

49. https://en.cppreference.com/w/cpp/error/exception.html

50. https://en.cppreference.com/w/cpp/language/throw.html

51. https://en.cppreference.com/w/cpp/language/try_catch.html

52. https://en.cppreference.com/w/cpp/language/except_spec.html

53. https://en.cppreference.com/w/cpp/error/exception_ptr.html

54. https://en.cppreference.com/w/cpp/error/current_exception.html

55. https://en.cppreference.com/w/cpp/error/rethrow_exception.html

56. https://en.cppreference.com/w/cpp/error/set_terminate.html

57. https://en.cppreference.com/w/cpp/language/noexcept_spec.html

58. https://www.tutorialspoint.com/cplusplus/cpp_exceptions_handling.htm

59. https://learn.microsoft.com/en-us/cpp/cpp/exception-handling-in-visual-cpp?view=msvc-170

60. https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-default

61. https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/libsupc++/eh_throw.cc#L60

62. https://github.com/gcc-mirror/gcc/blob/16e2427f50c208dfe07d07f18009969502c25dc8/libstdc++-v3/libsupc++/eh_alloc.cc

63. https://eel.is/c++draft/support.rtti

64. https://stackoverflow.com/questions/18359780/how-is-dynamic-cast-implemented

65. http://refspecs.linux-foundation.org/cxxabi-1.83.html?cmd=redirect&arubalp=12345#calls

66. https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/libsupc++/dyncast.cc

67. https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/libsupc++/typeinfo

68. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/libstdc++/api/a01017.html#a50b4e7187a89b298ded9906923a83f60

69. https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/libsupc++/cxxabi.h#L410

70. https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/typeinfo

71. https://refspecs.linuxfoundation.org/LSB_4.0.0/LSB-CXX-generic/LSB-CXX-generic/baselib.html

72. https://docs.libreoffice.org/bridges/html/rtti_8h_source.html

73. https://hex-rays.com/hubfs/freefile/Recon-2012-Skochinsky-Compiler-Internals.pdf

74. https://github.com/edhowland/BNF-Wiki

https://cs61.seas.harvard.edu/site/2020/BNFGrammars/

https://condor.depaul.edu/ichu/csc447/notes/wk3/BNF.pdf

https://baike.baidu.com/item/%E5%B7%B4%E7%A7%91%E6%96%AF%E8%8C%83%E5%BC%8F/1849549?fromtitle=BNF&fromid=7328753&fr=aladdin

https://github.com/gchatelet/gcc_cpp_mangling_documentation

https://www.ibm.com/docs/en/zos/2.3.0?topic=scope-function-prototype

Leave a Comment