vcrtl:Windows驱动程序中的C ++异常

时间:2024-03-28 12:37:50
【文件属性】:

文件名称:vcrtl:Windows驱动程序中的C ++异常

文件大小:46KB

文件格式:ZIP

更新时间:2024-03-28 12:37:50

windows cpp exceptions kernel-mode-driver C++

Windows驱动程序中的C ++异常 该项目实现了Visual Studio运行时库中C ++异常处理所需的部分。 当前,支持x86和x64平台。 入门 要在内核模式驱动程序中使用异常,首先 ,然后 将vcrtl_driver.props添加到您的驱动程序项目中。 C ++异常将神奇地起作用。 特征 优化了异常处理代码,以显着减少所需的堆栈空间。 在x86上,堆栈使用量可以忽略不计,在x64上,在处理程序搜索期间使用了大约300个字节,但是,在调用catch处理程序之前,将回收这些字节。 不使用动态分配或线程本地存储,所有事情都在堆栈上发生。 在x64上,同时支持FH3和FH4 C ++异常ABI。 FH4比FH3好得多,喜欢它。 异常分派期间不进行字符串比较。 局限性 异常一定不能离开引发异常的模块,否则调度程序将进行错误检查。 SEH异常不会通过您进行C ++异常处理的框架


【文件预览】:
vcrtl-master
----CMakeLists.txt(1KB)
----.gitignore(9B)
----README.md(1KB)
----.github()
--------workflows()
----test()
--------test.cpp(270B)
--------build_test.vcxproj(5KB)
--------build.sln(2KB)
--------build_test.vcxproj.filters(530B)
--------build_test.inf(2KB)
----LICENSE(1023B)
----src()
--------x64()
--------assert.h(146B)
--------runtime.cpp(259B)
--------utils.h(615B)
--------ptr_to_member.h(453B)
--------stddef.h(431B)
--------rva.h(2KB)
--------bugcheck.h(547B)
--------type_info.h(2KB)
--------memcpy.h(131B)
--------win32_seh.h(1KB)
--------x86()
--------type_traits.h(4KB)
--------limits.h(4KB)
--------assert.cpp(279B)
--------flags.h(1KB)
--------stdint.h(480B)
--------intrin.h(1KB)
--------algorithm.h(343B)
--------type_info.cpp(52B)
----build()
--------FindWDK.cmake(6KB)
--------vcrtl_driver.props(848B)

网友评论