qemu安装mips64el架构debian12虚拟机
前言 mips: 32位大端序 mipel: 32位小端序 mips64el: 64位小端序 安装工具1apt install qemu-system-mips libguestfs-tools 创建12345mkdir qemu-mips64elcd qemu-mips64elwget https://deb.debian.org/debian/dists/Debian12.11/main/installer-mips64el/current/images/malta/netboot/initrd.gzwget https://deb.debian.org/debian/dists/Debian12.11/main/installer-mips64el/current/images/malta/netboot/vmlinuz-6.1.0-35-5kc-malta 1qemu-img create -f qcow2 hda.qcow2 20G 12345678910111213qemu-system-mips64el \ -machine malta \ -m 1024...
jemalloc排查内存泄露
安装jemalloc1apt install libjemalloc2 安装svg图片生成工具1apt install graphviz gv 测试代码 123456789101112131415161718192021222324#include <iostream>#include <string>#include <vector>#include <map>#include <chrono>#include <thread>int main() { std::vector<int> vec; std::map<int, int> mp; std::string s; for (;;) { for (int i = 0; i < 1000; ++i) { vec.push_back(i); mp[rand()] = i; s +=...
vscode配置clangd代码提示
前言为什么要用clangd呢?因为vscode自带的c/c++扩展一旦打开大型项目,代码提示和跳转速度都非常感人,而clangd的代码提示和跳转速度非常快,所以这里记录一下如何配置clangd。 而我的环境为windows,因为讨厌msvc的臃肿所以使用msys2的ucrt64里安装的g++,全网能搜到的教程要么是linux下的vscode,要么用wsl,还有的是直接llvm全套,总之我是没找到windows下vscode用g++编译器,仅使用clangd作为提示工具的方法,所以这里记录一下。 安装clangd方案一用scoop安装clangd 1scoop install clangd 方案二直接去github https://github.com/clangd/clangd/releases/tag/19.1.2 下载clangd,然后解压到任意位置,配置环境变量即可。 保证 clangd –version...
MSYS2配置C++开发环境
记得之前写过一篇文章 《windows下编译libopus》 ,当时提到MSYS2未能成功编译libopus,最近又试了下,没问题了。。。yysy,突然发现MSYS2太好用了,尤其是pacman 安装MSYS2MSYS2官网:https://www.msys2.org/ 下载安装包,安装即可 windows上选择UCRT64就行了,也是官方推荐的环境 配置环境变量安装完成后,打开MSYS2,输入以下命令更新组件库 1pacman -Syu 更新系统,然后安装toolchain 12pacman -S mingw-w64-ucrt-x86_64-toolchainpacman -S mingw-w64-ucrt-x86_64-gdb 配置makemsys64/ucrt64/bin 下mingw32-make.exe,复制一份,改名为make.exe,这样就可以直接使用make命令了 配置CMake不要 pacman -S mingw-w64-ucrt-x86_64-cmake 因为这样安装的cmake功能很有限,用不了MinGW Makefiles 工具链 去...
RtAudio播放PCM
RtAudio播放PCM1. RtAudio简介RtAudio是一个跨平台的音频I/O库,可以在Windows、MacOS和Linux上使用。它提供了简单易用的接口,可以方便地进行音频数据的输入和输出。项目地址 Pulse和ALSA的区别PulseAudio和ALSA是Linux系统中两种重要的音频处理组件,它们在功能和用途上存在显著区别。 ALSA(Advanced Linux Sound...
C++带返回值类型函数不加return引发的血案
背景写的代码在x64上单元测试一点问题没有,交叉编译出aarch64架构程序,跑在测试那里一开就崩,查了半天竟然是没有加return引发的血案… 调试过程函数调用funca,调用完funca后本应该回到调用函数,但gdb查core却看到奇怪的堆栈信息funcb在funca之上,且崩在funcb里,这里简单写个小demo测试了一下(当然这个demo不会崩,因为没有访问成员变量) 123456789101112131415161718192021#include <iostream>using namespace std;int funca(){ cout << "this is func A" << endl; //return 0;}int funcb(){ cout << "this is func B" << endl; return 0;}int main(){ funca(); ...
声音检测VAD
语音活动检测(Voice Activity Detection,VAD),就是检测是否有声音,常规的算法是通过声音音量和频谱特征来判断是否有声音的,但是无法区分是噪音还是人声。 VAD技术主要用于语音编码和语音识别。 它可以简化语音处理。 也可用于在音频会话期间去除非语音片段 可以在IP电话应用中避免对静音数据包的编码和传输,节省计算时间和带宽。 webrtc中封装了声音检测算法,但是由于webrtc体量太过庞大,为了一个算法链接这么大个项目不太值得,因此将webrtc中的算法拆出为单独的库 https://github.com/helianchichi/libwvad 支持8000, 16000, 32000, 48000采样率,支持10, 20, 30 ms时长帧
音频处理lowcFE
前言流媒体在网络传输中有可能会发生丢包现象,对于音频,丢包会导致解码后的声音听起来卡顿不连续,lowcFE是种算法,可在发生丢包时猜测丢包内容,模拟丢失的数据 lowcFE,全称为 Low Complexity Frame Erasure 低复杂度帧擦除(为什么叫擦除而不是恢复我也不懂),所谓低复杂度大概原因是其只支持8K采样的10ms数据吧 头文件 lowcfe.h123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566/* ============================================================================ File: lowcfe.h V.1.0-24.MAY-2005 ...
软考笔记_00
第一章 信息化发展信息系统与信息化信息信息是 确定性的增加 信息不是物质也不是能量 信息具有价值,价值取决于信息的质量 金融信息重要的是安全性 经济与社会信息重要的是及时性 信息系统信息系统是 管理模型 信息处理模型 系统实现 的结合 信息系统生命周期 系统分析:提出系统的逻辑模型 (做什么) 系统设计:设计系统的物理模型 (怎么做) 信息化内涵: 信息网络体系、信息产业环境、社会运行环境、效用积累过程 六要素: 信息技术应用————龙头主阵地 信息资源————核心任务 信息网络————基础设施 信息技术和产业————物质基础 信息化人才————成功之本 信息化政策法规和标准规范————保障 信息化趋势 产品信息化 产业信息化 社会生活信息化 国民经济信息化 国家信息化趋势 第一步到2020年 先进水平 第二步到2025年 解决受制于人 第三步到21世纪中叶 网络强国 十四五规划 泛在智联 数据要素 数字生产力 安全 产业数字化转型 现代化基础设施新基建:5G、特高压、城际高速铁路轨道交通、新能源充电桩、大数据、人工智能、工业互联网 新型基础设施 信息基础设施 ...
libx265编码
源码编译12345678git clone https://code.videolan.org/videolan/x264.gitcd x264/sourcemkdir buildcd buildcmake .. -DCMAKE_BUILD_TYPE=Debug -G "MinGW Makefiles"make -j8 编译成功的话应该会产出三个文件,一个静态库 libx265.a,一个动态库 libx265.dll 以及该动态库的导入库 libx265.dll.a 新建编码demo项目拷贝 libx265.a, x265.h,x265_config.h 至demo目录中 这里 encoder.cpp...