null pointer deref不是C++异常,或者说是系统相关的异常。
所以只有系统支持这种时才可能捕获。比如windows上SEH/VEH。Linux上只有signal handler。
除了OS,还得编译器支持。如果编译器不支持,只能手动搞。
比如Windows上,MSVC之外的编译器不支持它家的__try/__except,你可以用汇编代码建立SEH的frame来捕捉异常,也就是自己把__try/__except实现一下,不过有点蛋疼就是了
--
修改:z16166 FROM 114.241.227.*
FROM 114.241.227.*