1)在C中,如何捕获段错误?我知道操作系统中的某些东西会引起段错误,但如果程序发生段错误,C程序可以做些什么来比单纯的“Segmentation fault”更优雅地结束程序?
2)这有多具可移植性?
我想象这是非常不具可移植性的行为,因此如果您发布任何捕获段错误的代码,请告诉我它适用于什么平台。我在Mac OS X上,但我希望我的程序能够在尽可能多的平台上运行,并且我想了解我的选择。
不要担心 - 我只想打印一条更友好的错误消息并释放一些已经使用malloc()分配的内存,然后结束程序。我不打算忽略所有的段错误并继续前进。