首页

精确性和准确性是两码事儿  

准确性(Accuracy)是与正确答案的接近程度,精确性(Precision)是对这个答案的分辨率。 假设,你问我,”现在几点了?” 我抬头看看太阳,然后估算了一下,回答道 “现在是上午 10 点 35 分 22.131 秒” 我给出的是一个足够精确性的答案,但是不是一个很准确的答案。这个时候,你是否初步理解了 Accuracy 和 Precisio...

另一个人们依赖的未文档化行为:输出缓冲区  

对于一个通过输出缓冲区来返回数据的函数,如果函数执行失败,则这个缓冲区里的数据是未定义的,调用者不应该对这些数据做出任何假定。 但是,还是有人会这样做。 我曾经读过 Michael Kaplan 的一篇关于输出缓冲区的文章,在那篇文章中,用户要求,即使函数执行失败,函数也需要将输出缓冲区里的数据做出一定的设置后才返回。 为什么输出缓冲区在函数失败的时候一定不能做出任何修改,因为有很多应用程序会依赖...

理解哈希码  

我不止一次看到有人问这样的问题: ” 我有一些动态生成字符串的过程,我想设计一个算法,它输入一个字符串并为该字符串生成一个小的唯一标识符(哈希码),以便两个相同的字符串具有相同的标识符,并且如果两个字符串不同,那么它们将具有不同的标识符。我尝试了String.GetHashCode 方法,但偶尔会发生冲突。有没有办法生成保证唯一性的哈希码呢? ” 如果你可以限制要散列的字符...

文件类型处理器中的程序路径必须是全路径  

很多人可能还没有意识到这一点,但是在 Windows XP SP2 中,我们对文件类型处理器添加了这样一条要求:即如果文件处理器程序不在 Windows 目录或者不在 System 目录中的时候,注册该处理器程序的路径必须全路径,而不是相对路径。 为什么会有这个要求? 原因是出于对安全性的考虑,并和”可预测性”有一丝关系。 我们先说安全性,SearchPath 这个 API...

std::string 现已支持 ASan(Address Sanitizer)  

你是否碰到过 Access Violation? 当在调试模式(/MTd or /MDd)下使用 Microsoft C++ 标准库时,标准库内部会尽其所能保证使开发者远离内存访问违规(Access Violation)的问题。标准库中的每个容器都有一个自定义的“包装”迭代器,在每次访问时,它会检查它是否仍然有效,不是结束迭代器,并且在执行算术运算时,检查它是否还未可用。 但是,一旦你离开迭代器的...

Visual Studio 17.6 中的代码分析改进  

C++开发团队致力于使你的 C++ 编码体验尽可能安全。我们正在添加更丰富的代码安全检查,并解决 C++ 开发社里反馈的各种高优先级问题。感谢你与我们互动,并就过去的版本和早期预览版向我们提供了很好的反馈,从而达到这一点。以下是我们对代码分析工具所做的改进的详细概述。 对现有检查的改进 我们改进了许多检查,以发现更多错误并发出更少的误报。本节包含我们在过去几个月中所做的工作的一些亮点。 对空 st...

导入你的 ST 项目到 Visual Studio  

去年我们官宣了 Visual Studio Code 可以直接导入 ST 项目,今天再次宣布:它的好兄弟 Visual Studio 2022 17.6 也支持此功能,详细请看下文。 在 ARM 微控制器领域,有许多芯片供应商,其中最大的是意法半导体(ST)。ST 拥有大量具有多种功能的可用器件,以及用于评估这些功能的支持开发板。他们还生产STM32CubeIDE,一种用于定位设备的自定义IDE,...

ATL中__if_exists的替代方案  

__if_exists 和 __if_not_exists 是什么? __if_exists 和 __if_not_exists 是微软 ATL (Active Template Library,活动模板库) 中的关键字,可以用来在编译期间测试一个标识符是否存在。如果该标识符存在,则其关联的语句将会被执行。 __if_exists 和 __if_not_exists 可以用在变量,函数,typed...

试试Visual Studio中新的远程文件查看器  

今天,我们很高兴地宣布,在 Visual Studio 17.6 Preview 1 中,一项新的工具窗口诞生:远程文件查看器。 通过这个工具窗口,你可以从远程计算机上浏览,上传和下载文件。另外,可以通过 Visual Studio 中的连接管理器来管理远程计算机连接。 如何安装此工具? 请下载最新版本的 Visual Studio,然后在 Linux and embedded developm...

Topomel Box 2.0 已停止服务  

亲爱的用户,Topomel Box 2.0 已于 2023-03-01 停止服务。服务停止,但真心不变。希望其继任者 3.0 版本能够给您带来全新的使用感受。 如有任何问题,请联系 support@topomel.com。 最近我写了个东西 正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能...