iou*_*vxz 4 c++ driver visual-studio kmdf c++11
我使用的是vs2015和wdk10,我可以在空项目中使用随机。
#include <random>
std::default_random_engine eng;//works fine .
Run Code Online (Sandbox Code Playgroud)
但是当我创建一个空的内核模式驱动程序项目时,我无法在其中使用随机。
#include <random>
std::default_random_engine eng;//namespace "std" has no member "default_random_engine"
Run Code Online (Sandbox Code Playgroud)
其他标准库,如向量和元组也不起作用,所有这些都提醒我命名空间“std”没有成员 XXX(向量、元组等)
我该如何解决这个问题?
std 库的实现需要工作异常处理才能使代码正常工作。这已经阻止了标准库的一个端口在内核中执行。
在内核中不起作用的代码的其他示例是
正如评论中提到的
RtlRandomEx
Run Code Online (Sandbox Code Playgroud)
产生伪随机数,并且在内核中可用。
对于加密安全随机性,此页面具有一定的价值。