最新的WDK将与Visual Studio 15一起使用,后者支持C 11.
但是,我还没有看到有关有多少功能可用的文档.
显然,我不会使用std :: thread和std :: mutex,但不太清楚,是神奇的静态.
Class * function() { static Class myInstance; return &myInstance; }
这在用户模式下现在是线程安全的,但目前还不清楚这种结构是否可以在内核中运行.
解决方法
我找到了一些关于switch / kernel
msdn : /kernel (Create Kernel Mode Binary)的文档,它描述了一个转换器,告诉编译器.obj的目的地是内核模式.
这描述了异常和RTTI的不同行为,但未提及魔法静态.
从一个简单的可见反编译
Class * GetInstance() { static Class instance; return &instance; }
和一些用户模式测试,编译器
>不发出任何线程本地代码.
>不提供usermode的线程安全行为.
编辑
为清楚起见.当未指定/ kernel时,魔术静态工作正常,静态初始化是线程安全的.机制(使用fs :)不适用于内核.
使用/ kernel代码不是线程安全的,但是内核兼容. (没有参考fs