独钓寒江雪

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

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

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

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

阅读全文 »

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

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

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

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

阅读全文 »

WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。

它并不是单一的协议,包含了媒体、加密、传输层等在内的多个协议标准以及一套基于 JavaScript 的 API。通过简单易用的 JavaScript API ,在不安装任何插件的情况下,让浏览器拥有了 P2P音视频和数据分享的能力。同时WebRTC 并不是一个孤立的协议,它拥有灵活的信令,可以便捷的对接现有的SIP 和电话网络的系统。

不同技术领域的人都可以从WebRTC中获取到需要的东西。

阅读全文 »

会话描述协议(Session Description Protocol 或简写 SDP)描述的是流媒体的初始化参数。此协议由 IETF 发表为 RFC 2327。

SDP 完全是一种会话描述格式,它不属于传输协议。

SDP 用于描述多媒体通信会话,包括会话建立、会话请求和参数协商。SDP 不用于传输媒体数据,只能用于两个通信终端的参数协商,包括媒体类型、格式以及所有其他和会话相关的属性。SDP 以字符串的形式描述上述初始化参数。

阅读全文 »

TCP 特性

尽管 TCP 和 UDP 都是用 IP 协议作为网络层,但 TCP 却提供和 UDP 完全不同的网络服务。TCP 是面向连接的稳定可靠字节流服务。TCP 首部的很多字段都是为了实现这 2 大特性而设计的。

阅读全文 »

消息队列

首先我们要明确一个观点:窗口是和线程相关联的,消息队列也是和线程相关联的,这个线程无论是主线程还是子线程

当一个线程被创建时,系统假定该线程不会被用于任何与用户界面相关的任务,所以不会为它分配相应的资源(如消息队列等),因为这样可以减少线程对系统资源的占用。

但是,一旦这个线程调用一个与图形用户界面有关的函数(例如检查它的消息队列或建立一个窗口),系统就会为该线程分配一些额外的资源,以便它能够执行与用户界面有关的任务。特别是,系统会分配一个THREADINFO结构,并将这个数据结构与线程关联起来。

阅读全文 »

什么是 UDP 协议?

UDP 是 User Datagram Protocol 的简称,中文名是用户数据报协议,是 OSI 参考模型中的传输层协议,它是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

阅读全文 »

互联网控制消息协议(英文:Internet Control Message Protocol,ICMP)是互联网协议族的核心协议之一。定义在 RFC 792 文档中。
ICMP 的消息大致可以分为两类:一类是差错报文,即通知出错原因的错误消息(如 traceroute),另一类是查询报文,即用于诊断的查询消息(如 ping)。
使用 ICMP 协议的典型应用有 ping 和 traceroute(windows 上叫 tracert)。

阅读全文 »
0%