小编Lan*_*Pac的帖子

GUI是如何真正制作的?

我的问题是
像 Qt 这样的 Gui 库,让我们说一下 Windows 操作系统如何创建所有这些图形用户界面(Windows 等)。

每个操作系统都提供API或其他东西吗?如果是,那么操作系统如何绘制所有这些窗口和东西。他们(操作系统)是否“控制”屏幕,然后逐个绘制每个像素以实现其目标图形用户界面?

我想要一个答案,以尽可能低的水平解释事情,但我不要求有人写给我发生的一切(即使我愿意),因为我知道所有这些背后有很多事情。所以出于这个原因评论带有链接或推荐书籍,其中详细解释了
幕后发生的事情,将不胜感激。

user-interface operating-system low-level

5
推荐指数
1
解决办法
5033
查看次数

分支错误预测

这个问题可能很傻,但我还是会问。我从这个Mysticial 的答案
中听说过分支预测 ,我想知道是否有可能发生以下情况

假设我有这段 C++ 代码

while(memoryAddress = getNextAddress()){

  if(haveAccess(memoryAddress))
    // change the value of *memoryAdrress
  else 
    // do something else

}
Run Code Online (Sandbox Code Playgroud)

因此,如果分支预测器在某些情况下错误地预测 if 语句为 true,然后程序更改 *memoryAddress 的值,会发生不好的情况吗?诸如分段错误之类的事情会发生吗?

branch-prediction

0
推荐指数
1
解决办法
2366
查看次数

全局新运算符调用语法

为什么这个函数带有这个签名

void* operator new (std::size_t size);
Run Code Online (Sandbox Code Playgroud)

不能在这样的代码中调用

void* mem = new(100);
Run Code Online (Sandbox Code Playgroud)

但它必须这样称呼

void mem = ::operator new(100);
Run Code Online (Sandbox Code Playgroud)

c++ new-operator

0
推荐指数
1
解决办法
170
查看次数