为什么图标的宽度总是8的倍数?
对于 Windows 上的所有图标而言,它的宽度总是8的倍数,这可不是因为人们喜欢2的幂,虽然在计算机世界,你会看到很多这样的数字,例如,1024,4096等。
在 Windows 的早期阶段,大多数显卡是单色的,如果幸运的话,可能会有一张16色的显卡。它们运作在平面视频模式(planar video mode)。现在我们想象一下,将一张位图拷贝到屏幕上,这张位图和屏幕都是平面化的。
如果目标矩形...
- 阅读全文 |
- 分类:OldNewThing |
- 发表于:02月28日 |
- 浏览:78 |
- 评论已关闭 条评论
CMake调试器出炉:调试你的CMake脚本
Visual Studio 开发团队一直和 Kitware 紧密合作,致力于开发一个用于调试 CMake 脚本的调试器。
我们将继续这个工作,以便开发人员社区可以通过添加新功能和对其他 DAP 功能的支持来共同改进它。
我们很高兴地宣布,CMake 调试器的预览版现在可用于调试 Visual Studio 17.6 预览版 1 中任何 CMake 项目的 CMake 脚本和 CMakeLists....
修改一个对象的所有者
警示:本文需要你懂点儿 “技术”。
修改一个对象(例如一个文件)的所有者看起来不是很复杂:你只需要调用 SetNamedSecurityInfo 并传入一个新的安全描述符就可以了,是的,就是这么简单。
难点在于,你如何到达这个调用时间点。(在这里,我要感谢 Windows 安全团队 John 的对于这篇文章中某些部分的纠正)
如果你拥有一个对象的 WRITE_OWNER 权...
- 阅读全文 |
- 分类:OldNewThing |
- 发表于:02月22日 |
- 浏览:56 |
- 评论已关闭 条评论
Visual Studio 2022: 增加对虚幻引擎的支持
自 Visual Studio 2022 发布以来,我们一直专注于为游戏和大型项目开发人员提供一系列生产力和性能改进。今天,我们很高兴与大家分享下一组专门用来提高虚幻引擎开发效率的功能。我们听到并看到了来自你(我们的游戏开发人员)的大量宝贵反馈。我们想特别向所有参与调查问卷、留下开发者社区建议并在社交媒体上与我们聊天的人致敬。没有你的贡献,这些功能是不可能有的。
在这篇文章中,你将学习如何快速查看...
用上Visual Studio后,我的世界游戏的构建时间减少了一半
今天我们讲述一个使用 Visual Studio 提升工作效率的案例。
我的世界(Minecraft) 游戏开发商 Mojang Studios 近日联系了 Visual Studio C++ 团队,因为他们需要将 C++ 开发扩展到新平台(Linux),同时还希望保留他们现有的技术基础(MSBuild),但目前存在一些技术限制阻止了他们追求更成熟的跨平台管道。
因为这些技术限制,在他们进行开发的...
为什么子进程要继承处理器亲缘性?
请先考虑一个典型的程序为什么需要启动一个子进程。(当然资源管理器不算一个典型的程序)
这是因为手头的任务被分解为子任务,无论出于何种原因,这些子任务都被放入子流程中。例如,在实现多次遍历型编译器/链接器时,其中每次遍历都作为管道中的单独进程实现。
现在考虑为什么你可能希望设置进程的亲缘性以将其限制为单个处理器。
一个原因是,该进程可能存在导致其在多处理器计算机上崩溃或行为异常的错误。对于为单处理器...
- 阅读全文 |
- 分类:OldNewThing |
- 发表于:02月13日 |
- 浏览:74 |
- 评论已关闭 条评论
为什么静默安装未经过数字签名的驱动是不可行的?
我想,在 Windows XP 系统上,造成蓝屏的最主要原因是带有 Bug 的设备驱动程序。
请问在座的,谁赞成,谁反对。
因为驱动运行在内核模式,再也没有更高级别的组件对其进行行为监管,它可以做它想做的任何事情。
如果一个用户模式程序出了问题,比如代码有内存访问越界的问题,这个时候,问题不大,越界问题只存在于它自己的私有虚拟内存上,不会对其他进程有任何影响。操作系统会直接强制结束它,但其他程序和...
- 阅读全文 |
- 分类:OldNewThing |
- 发表于:02月10日 |
- 浏览:69 |
- 评论已关闭 条评论
在 Visual Studio 中进行远程单元测试
远程C++单元测试使开发人员能够将 Visual Studio 2022 连接到远程 Windows 环境,以运行和调试C++桌面应用程序测试。
此功能对于将代码部署到不同 Windows 目标环境(如不同的 Windows 体系结构)的开发人员非常有用。使用此功能,可以将测试资源管理器连接到远程环境,直接从 Visual Studio 在目标计算机上运行测试。
那,如何设置远程单元测试?
准备目...
VS Code C++ 扩展:自动创建函数的定义和声明
从 VS Code 中 C++ 扩展的 1.13.6 版本开始,我们很高兴分享一个非常需要的功能:自动创建函数的定义或声明!
现在,你可以在头文件中为只有定义的函数快速创建声明,反之亦然。这些生成的定义和声明已经包含所有函数参数,因此无需额外的复制、粘贴和双重检查。
让我们看一个实例:
如何创建定义或声明?
有如下三种方法:
> 单击类函数定义,然后单击左侧的代码操作(灯泡图标)。这将打开...