独钓寒江雪

用C++的优雅,驯服Windows的狂野

众所周知,软件日志对问题的排查可以起到至关重要的作用,但在多人协同开发的情况下,可能会导致不同的人使用不同的日志打印风格,导致日志可阅读性不高。纵观各大知名软件的输出日志,无不有着规范的格式,非常利于阅读。

阅读全文 »

流媒体协议

RTP (Real-time Transport Protocol)

RTP 特征

实时传输协议(Real-time Transport Protocol)是一个网络传输层协议,它是由 IETF 的多媒体传输工作小组 1996 年在 RFC 1889 中公布的,它作为因特网标准在 RFC 3550(该文档的旧版本是 RFC 1889)有详细说明,RTP 标准定义了两个子协议:RTP 和 RTCP。

阅读全文 »

我们在安装了TortoiseSVN或TortoiseGit后,会自动在资源管理器的文件夹和文件图标上显示覆盖图标(Icon Overlay),这样可以比较方便的查看文件状态。

但有时候我们安装的其他软件,如Dropbox等,也会在资源管理器中显示覆盖图标。多个软件都显示覆盖图标时,会由于优先级问题导致覆盖图标不显示的问题。

本文讲述如何通过调整软件覆盖图标的优先级来解决诸如此类的问题。

阅读全文 »

写作本文时使用的 webrtc 版本为:branch heads/67

准备工作

请确保可以访问国外网站

系统语言切换到英文

系统 Windows 7/10 都可以,在“控制面板”–>”区域和语言”–>”管理”–>”更改系统区域设置”中切换到“英语(美国)”,然后重启系统。

阅读全文 »

WAV格式是微软公司(Microsoft)开发的一种声音文件格式,它符合 RIFF(Resource Interchange File Format)文件规范,用于保存 Windows 平台的音频信息资源,被 Windows 平台及其应用程序所广泛支持。

WAVE 是录音时用的标准的 WINDOWS 文件格式,文件的扩展名为“WAV”,数据本身的格式为 PCM 或其他压缩数据,属于无损音乐格式的一种。

所有的 WAV 都有一个文件头,这个文件头记录了音频流的编码参数。WAV文件 = WAV头 + PCM数据

阅读全文 »

在 Windows 开发中,对内存的理解深度,往往直接决定了一个程序的稳定性、性能与安全边界。那些看似突然的程序崩溃、难以追踪的内存泄漏,或是性能分析工具中令人困惑的内存数据,其根源常深植于我们对系统内存机制的理解盲区。

Windows 内存管理是一套层次分明、环环相扣的精密体系。从应用程序视角看到的连续“内存”,实际上是虚拟内存技术精心营造的抽象空间;支撑程序运行的物理资源,则通过分页机制在物理内存与磁盘间灵活流动。而开发者日常打交道的堆内存,则是系统在这一庞大抽象之上,为我们提供的一个兼顾效率与便利的关键服务层。更进一步,内存映射文件等高级特性,则打通了 I/O 与内存的边界,展现了系统统一管理资源的强大能力。

本文将为你厘清这些核心概念之间的内在联系与运作逻辑。我们不过度深入艰涩的内核细节,而是聚焦于为开发者建立清晰、准确、实用的认知模型。理解这些机制如何共同作用,能帮助你更有效地诊断内存问题、优化程序性能,并从根本上写出更为健壮可靠的 Windows 应用程序。

让我们从基本概念出发,逐步构建起关于 Windows 内存运作的系统性理解。

阅读全文 »
0%