c++ 共享库中符号的可见性
在很多开源库中总是能看到在函数开头有一句 __attribute__ ((visibility("hidden"))) 或者 __attribute__ ((visibility("default"))),这样做有什么作用呢?其实这个是指定 API 的可见性,可以更细致地控制库的 API,提高库的封装性。这在创建共享库时尤其重要,因为它允许库的作者明确地指定哪些符号是公开的,哪些符号是私...
在很多开源库中总是能看到在函数开头有一句 __attribute__ ((visibility("hidden"))) 或者 __attribute__ ((visibility("default"))),这样做有什么作用呢?其实这个是指定 API 的可见性,可以更细致地控制库的 API,提高库的封装性。这在创建共享库时尤其重要,因为它允许库的作者明确地指定哪些符号是公开的,哪些符号是私...
figlet 是一个用于生成艺术字体的命令行工具,可以将普通文本转换成由字符组成的大字体。它支持多种字体样式和自定义字符宽度,可用于创建独特的文本艺术效果。figlet 常用于终端显示、标语设计和文本装饰等场景。 示例 # 列出所有风格 showfigfonts # 生成 bubble 风格的艺术字 figlet -f bubble TPTINC _ _ _ _ ...
ffmpeg 是一个开源的跨平台音视频处理工具,它可以用于处理、转换、编辑和播放音视频文件。它提供了一组强大的命令行工具,可以在命令行中执行各种音视频处理任务。它支持多种音视频格式,包括常见的 MP4、AVI、MKV 等,以及各种音频编码和视频编码。它可以进行音视频文件的转码、剪辑、拼接、裁剪、提取音频、添加字幕等操作。还可以调整音频的音量、平衡、混音等参数,对视频进行裁剪、缩放、旋转、加水...
在 ubuntu 系统上安装 wps 后,启动报错 some formula symbols might be not display,原因是 wps 字体缺失,解决办法如下: git clone https://github.com/IamDH4/ttf-wps-fonts.git cd ttf-wps-fonts sudo ./install.sh
C++ 中的共享指针通过引用计数机制实现自动内存管理,下面是一个简约版的共享指针实现方式,用于学习和理解共享指针的底层实现。 代码 #include <iostream> template <typename T> class SharedPtr { private: T* m_ptr; unsigned* m_count; void ...
Linux 下配置网络的方式有很多,下面记录一个我在 Jetson Orin NX 板子上使用的其中一个工具—Netplan。 安装 sudo apt install netplay.io 使用 下面是一个配置静态 IP 的示例 创建配置文件 sudo touch /etc/netplan/00-installer-config.yaml 添加配置 network: v...
iperf 是一个开源的网络性能测试工具,用于测量网络带宽、延迟和数据包丢失等指标。它可以在客户端和服务器之间进行测试,支持 TCP 和 UDP 协议。iperf 具有丰富的参数选项,可以模拟不同的网络场景和测试需求。它被广泛用于网络工程、系统管理和网络性能优化领域。 获取源码 iperf 代码托管在 github,直接clone即可, git clone https://github...
记录我工作过程中常用到的一些网址 软件源 阿里云 https://developer.aliyun.com/mirror 网易163 http://mirrors.163.com 搜狐 http://mirrors.sohu.com 华为 https://mirrors.huaweicloud.com/home 清华大学 https://mirrors.tuna.tsinghua.ed...
最近买了一台联想的 thinkbook14 pro 笔记本,装了 ubuntu22.04 x系统后,发现没有 wifi 驱动,几经周折,终于解决了,下面就把这个方法分享给大家。 现象 开机进入系统后,右上角的设置条目里没有 wifi 选项 解决办法 1、** 在 BIOS 里关闭 Security Boot** 2、** 安装 rtl8852be 驱动** 如果内核版本小于 5...
在 linux 下常常会用到 cat 命令,但是 cat 命令不带颜色且不能前后滚动或者翻页,下面推荐一个 cat 的平替 — batcat 。 安装 安装 batcat sudo apt install bat 给 batcat 设置别名 # 打开配置文件 vim ~/.bashrc # 在最后添加下面这一句 alias "bat=batcat" # 保存退出后使命令生效 sou...