amazzzzzing

导航

2023年7月10日 #

ffmpeg

摘要: # ffmpeg [TOC] ## 0. ffprobe ### 0.1 获取流列表 不用加任何参数即会打印流列表: ```bash Duration: 00:07:26.29, start: 0.000000, bitrate: 891 kb/s Stream #0:0: Video: h264 阅读全文

posted @ 2023-07-10 12:18 amazzzzzing 阅读(52) 评论(0) 推荐(0)

system函数的风险和解决

摘要: # system函数的风险和解决 ## 源码摘录 ```c /* Execute LINE as a shell command, returning its status. */ static int do_system (const char *line) { int status = -1; 阅读全文

posted @ 2023-07-10 12:17 amazzzzzing 阅读(174) 评论(0) 推荐(0)

对一个已有项目搭建单元测试集的一个方法

摘要: # 对一个已有项目搭建单元测试集的一个方法 ## 0 说明 ## 1 准备 ### 1.1 软件环境 ``` googletest cmake ``` ### 1.2 需要的知识 单元测试相关概念 ### 1.3 一般原则 1. 每次只测试一个对象,被测对象应该尽可能的独立,应该是一个很小的单元,依 阅读全文

posted @ 2023-07-10 12:16 amazzzzzing 阅读(46) 评论(0) 推荐(0)

IPv4_IPv6

摘要: # IPv4 and IPv6 ## IPv4 ### 地址 4字节(32bit); ### 地址写法 分为4组,每组一个字节; 常见为十进制点分隔形式,如:192.168.100.54 ### 掩码写法 使用前缀长度的位数来表示,如:192.168.100.54/24 ### 地址分类 共A~E五 阅读全文

posted @ 2023-07-10 12:15 amazzzzzing 阅读(76) 评论(0) 推荐(0)

函数对象

摘要: # 函数对象 ## 定义 定义了operator()的对象就是函数对象。 ## 函数的封装 可以使用std::function对函数(指向函数的指针)、lambda表达式、bind表达式、函数对象、指向成员函数的指针、指向成员变量的指针; ### 简单示例 ```c++ #include #incl 阅读全文

posted @ 2023-07-10 12:14 amazzzzzing 阅读(56) 评论(0) 推荐(0)

线程安全和可重入

摘要: # 线程安全和可重入 ## 线程安全 ### 定义 如果一个函数被多个线程并发执行时,这个函数不会出现异常,则称这个函数是线程安全的。 ### 线程安全的破坏 1. 如果这个函数被多个线程调用时,可能会修改同一个资源,则就可能破坏线程安全。 例如,函数访问全局变量: ```c++ #include 阅读全文

posted @ 2023-07-10 12:13 amazzzzzing 阅读(35) 评论(0) 推荐(0)

类型转换

摘要: # 类型转换 ## 一些问题 ### 表达式计算并传参时的类型转换问题 例子如下: ```c++ #include #include int main() { uint8_t a = 254; uint8_t b = 2; uint32_t c = a + b; printf("c=%d\n", ( 阅读全文

posted @ 2023-07-10 12:11 amazzzzzing 阅读(10) 评论(0) 推荐(0)

大量创建对象的性能

摘要: # 大量创建对象的性能 注:试验中,均统一开启 O3 优化。试验均在同一系统上进行。 ## 背景 在构建一种通用图片对象时,一种可能的实现是将每个像素作为一个对象处理。 以2560*1440为例,约$3.6\times 10^6$像素,因此在构建图片时,需要创建大量像素对象。 本文讨论C++下创建大 阅读全文

posted @ 2023-07-10 12:11 amazzzzzing 阅读(13) 评论(0) 推荐(0)