This is a crossplatform C++ library designed to convert a hardware exceptions, such as segmentation fault, or floating point errors, into a software language exceptions, which can be handled later with a try/catch construction.
Other words, it's a crossplatform structured exception handling (SEH).
有时候遇到段错误,我们想把这个异常抓住,segvcatch就可以帮助我们做这个事。
下载好后解压看里面的doc.h步骤即可,这里我们提取文件单独测试下
下载地址:
1.提取相关文件
提取的文件如上面的全部.cpp和.h文件,Makefile后面一步再写,.so是后面生成的,.sh一个运行脚本
2.编辑Makefile
CXX = g++TARGET = mainSOURCES = main.cppLIBS = -L./ -lsegvcatchCXXFLAGS= -Wall -fexceptions -fnon-call-exceptionsRM = rm -rf$(TARGET):$(SOURCES) $(CXX) $^ $(LIBS) -o $@ $(CXXFLAGS).PHONY:cleanclean: $(RM) main *.so.PHONY:liblib:segvcatch.cpp $(CXX) $^ -fPIC -shared -o libsegvcatch.so
3.编译测试(OK!)
#make lib
#make
#./main
Exception catched : My SEGV
Exception catched : My FPE
We are living yet!