我的问题是
像 Qt 这样的 Gui 库,让我们说一下 Windows 操作系统如何创建所有这些图形用户界面(Windows 等)。
每个操作系统都提供API或其他东西吗?如果是,那么操作系统如何绘制所有这些窗口和东西。他们(操作系统)是否“控制”屏幕,然后逐个绘制每个像素以实现其目标图形用户界面?
我想要一个答案,以尽可能低的水平解释事情,但我不要求有人写给我发生的一切(即使我愿意),因为我知道所有这些背后有很多事情。所以出于这个原因评论带有链接或推荐书籍,其中详细解释了
幕后发生的事情,将不胜感激。
这个问题可能很傻,但我还是会问。我从这个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 的值,会发生不好的情况吗?诸如分段错误之类的事情会发生吗?
为什么这个函数带有这个签名
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)