在Windows内核中可以使用多少C 11

前端之家收集整理的这篇文章主要介绍了在Windows内核中可以使用多少C 11前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最新的WDK将与Visual Studio 15一起使用,后者支持C 11.

但是,我还没有看到有关有多少功能可用的文档.

显然,我不会使用std :: thread和std :: mutex,但不太清楚,是神奇的静态.

Class * function()
{
     static Class myInstance;

     return &myInstance;
}

这在用户模式下现在是线程安全的,但目前还不清楚这种结构是否可以在内核中运行.

更值得关注的是,预先C 11代码在内核中是可以接受的(假设析构函数是微不足道的).

解决方法

我找到了一些关于switch / kernel msdn : /kernel (Create Kernel Mode Binary)的文档,它描述了一个转换器,告诉编译器.obj的目的地是内核模式.

这描述了异常和RTTI的不同行为,但未提及魔法静态.

从一个简单的可见反编译

Class * GetInstance()
{
   static Class instance;
   return &instance;
}

和一些用户模式测试,编译器

>不发出任何线程本地代码.
>不提供usermode的线程安全行为.

编辑

为清楚起见.当未指定/ kernel时,魔术静态工作正常,静态初始化是线程安全的.机制(使用fs :)不适用于内核.

使用/ kernel代码不是线程安全的,但是内核兼容. (没有参考fs

猜你在找的Windows相关文章