C 语言是一种强大的编程语言,它提供了指针的概念和相关的语法。指针是一种变量,它存储了内存地址,可以用于直接访问和操作内存中的数据。 C 指针类型的作用 多级指针 1. 指针与内存 指针与 int、float 等类型一样...
我们知道 C++代码的执行效率大多数情况下都会优于 Python 代码。当我们开发一个 Python 工具,分享时,使用者就可以通过 pip install xxx 的方式安装我们的工具,我们将该工具包中某些运行效率太低...
Epoll IO 模型是 Linux 中用于 I/O 多路复用的机制,可以用于监听多个文件描述符上的事件,以及非阻塞地等待这些事件的发生。其工作机制大致如下: 首先,初始化一个 Epoll 实例,这个实例主要在内核中维护...
linux 在进行网络应用程序开发时,常用到以下的 linux 网络 API: socket():用于初始化一个新的套接字 bind():用于将套接字与一个本地地址绑定 listen():用于将套接字标记为被动套接字,接...
在 Linux 下,select 函数通常用于多路复用 I/O,可以同时监视多个文件描述符的状态,当其中任何一个文件描述符准备就绪时,select 函数就会返回。 通过同时监控多个 I/O 流的状态来实现对多个 I/O ...
本篇简单介绍下,如何从输入多媒体中读取或者写入一帧数据。由于我们并没有进行编解码操作,这里的读写操作都是编码后的数据。在 FFmpeg 中每一帧数据是由 AVPacket 来表示。读操作需要用到的函数有: avforma...
当我们打开一个多媒体文件时,FFmpeg 会用 AVCodecContext 结构体来存储文件的一些信息和参数,用于后续对文件的一系列操作。本篇就简单介绍下,如何使用 FFmpeg 打开和关闭一个多媒体文件。我们的操作步...
FFmpeg 是一个功能强大、开源的音视频处理工具,可以满足用户在音视频处理方面的各种需求。可以用于录制、转换、编辑、播放和流媒体处理等。它是一个跨平台的工具,支持 Windows、Mac、Linux 等操作系统。 FF...
前面的例子中,每一个请求的 URL 都对应了一个 HttpRequestHandler 类,并实现该类中 handle 函数,如下代码: 如果我们设计更多的 URL 就需要写更多的 HttpRequestHandler ...
在前面例子中,我们在 run 函数中定义一系列需要的组件。这就使得对象的初始化工作和业务代码耦合在一起,如下代码: Oat++ 提供了两个宏 OATPP_CREATE_COMPONENT 和 OATPP_COMPONEN...
在请求 URL 时,我们希望返回 json 格式的数据。Oat++序列化的格式是由 Object Mapper 来定义的。使用步骤如下: 定义 DTO 数据类,并在该类中定义数据字段 在 Hanlder 中构建 DTO ...
Oat++ 是一个开源的 C++ Web 开发框架,接下来通过几篇文章了解下该框架的工作过程以及使用方法。文章主要内容包括: Oat++ 安装过程 Oat++ 基本使用 Document:Oat++ (oatpp.io)...
thread_local 是 C++11 引入的一个关键字,它的主要作用是用于声明线程私有变量,该变量在线程内部的多个函数之间可以共享,在线程和线程之间则是独立的、不共享的。 1. 问题场景 局部变量可以在线程之间独立,...
命令模式用于将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 简单来讲,命令模式可以将不同的请求封装成统一的访问方式,比如有些请求函数名是 request...