为了研究这个问题,我查了很多资料。空指针的问题涉及 Linux 内存管理的知识,主要参考了 Robert Love 大神对该 问题 的回答和《深入理解Linux内核》。最大的感悟是带着问题去看内核的书,你会理解内核为什么要这么做,同时可以加深理解和记忆。
总之,空指针的实现取决于编译器的实现,访问空指针的后果取决于操作系统的实现。大部分系统类似于 Linux,会产生 Segmentation fault
的错误,至于内部实现就要看各个系统的代码了。
Read full article from 访问 NULL 指针错误背后的原理 | ShareHub
No comments:
Post a Comment