gpt4 book ai didi

windows - Windows 内核中有多少 C++11 是可用的

转载 作者:可可西里 更新时间:2023-11-01 14:14:30 26 4
gpt4 key购买 nike

最新的 WDK 可与支持 C++11 的 Visual Studio 15 一起使用。

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

显然,我不会使用 std::threadstd::mutex,但不太清楚的是,神奇的静力学。

Class * function()
{
static Class myInstance;

return &myInstance;
}

现在在用户模式下是线程安全的,但尚不清楚这种构造是否可以在内核中工作。

更令人担忧的是,内核是否可以接受 C++11 之前的代码(假设析构函数是微不足道的)。

最佳答案

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

那描述了异常和 RTTI 的不同行为,但没有提到魔法静态。

来自一个简单的可见反编译

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

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

  1. 不发出任何线程本地代码。
  2. 不提供来自用户模式的线程安全行为。

编辑

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

使用 /kernel 代码不是线程安全的,但与内核兼容。 (没有引用fs:)

关于windows - Windows 内核中有多少 C++11 是可用的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35716436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com