自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bluebird_shao的专栏

每天前进一小步

  • 博客(97)
  • 资源 (1)
  • 收藏
  • 关注

原创 iPerf3 使用指南

iPerf3 是用于主动测试 IP 网络上最大可用带宽的工具。它支持时序、缓冲区、协议(TCP,UDP,SCTP 与 IPv4 和IPv6)有关的各种参数。对于每次测试,它都会详细的带宽报告,延迟抖动和数据包丢失。它与原始 iPerf 不共享任何代码,也不向后兼容。它是一个 C/S 架构的测试工具,需要在同时运行在服务器端和客户端。支持的平台:Windows, Linux, Android, MacOS X, FreeBSD, OpenBSD, iPhone/iPad 等。

2024-01-19 14:17:33 1820

原创 开发板通过 Ubuntu/Linux 连接外网

如果开发板需要访问外网,可以通过网线将开发板与 Ubuntu 系统连接起来,在 Ubuntu 系统中配置 ip_forward 让 Ubuntu 成为路由器,这样就可以将开发板与外网连接起来。两个带网口的 USB Hub网线其中带网口的 USB Hub 可以参考以下图片到京东或淘宝进行购买(仅供参考)。带网口的 USB Hub 准备好后,一个插在开发板,另一个插到 Ubuntu 系统,中间用网线连接起来,这样它们的网络链接就打造好了。

2024-01-18 20:25:39 1050

翻译 【译】Linux Shell 与 Shell 脚本编程简介

如果我们使用任何主要的操作系统,我们都是间接地在与 shell 交互。当运行 Ubuntu, Linux Mint 或任何其他 Linux 发行版本,我们通常使用终端与 shell 进行交互。在本文中,我们将讨论 Linux shell 与 shell 脚本编程,因此在理解 shell 脚本编程之前,我们必须熟悉以下术语:内核是一个计算机程序,是计算机操作系统的核心,可以完全控制系统中的一切。

2024-01-16 23:33:13 381

原创 C++ 中的耗时计算函数

clock_gettime 可以获取系统时钟时间,通过该函数可计算函数的耗时

2024-01-04 15:29:33 549

原创 Ubuntu/Linux 升级 CMake 版本

在 Ubuntu 18.04 系统上默认的 CMake 版本为 3.10.2,当需要进行一些比较新的项目的编译时,比如说,会遇到 CMake 版本不支持问题。这时我们需要升级系统中的 CMake,从 3.10.2 升级到 3.16+ 版本。

2023-02-28 19:08:14 4009 14

原创 交叉编译 iceoryx

iceoryx 是用于各种操作系统的进程间通信(IPC)中间件(目前支持 Linux、macOS、QNX、FreeBSD 和 Windows 10)。它起源于汽车行业,当涉及到驾驶员辅助或自动驾驶系统时,需要在不同的过程之间传输大量数据。然而,有效的通信机制也可以应用于更广泛的用例,例如在机器人或游戏开发领域。iceoryx 使用一种真正的零拷贝共享内存方法,该方法允许在没有单个拷贝的情况下将数据从发布者传输到订阅者。这确保了数据传输具有恒定的延迟,而与有效负载的大小无关。

2023-02-27 11:20:32 1214 3

原创 交叉编译 acl

访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。在 Linux 系统中,ACL 用于设定用户针对文件的权限,而不是在交换路由器中用来控制数据访问的功能(类似于防火墙)。可以从获取 ACL 源码。同时 ACL 也提供了 git 仓库进行代码管理与开发。

2023-02-24 12:04:58 649

原创 交叉编译 attr

attr – extended attributes on filesystem objects, 扩展文件系统对象的属性。扩展属性实现了用户将 name:value(名称:值)对附加到文件系统中的对象的能力。本文档描述了 attr 命令,它与同名的 IRIX 命令基本兼容。它最初专门针对 XFS 文件系统的用户,尽管它现在可以在任何支持扩展属性的文件系统上使用,但对于与文件系统无关的扩展属性操作的通用和更可移植的接口,请参阅 getfattr 和 setfattr 文档。

2023-02-24 11:50:56 544

原创 交叉编译 MQTT/Mosquitto

Eclipse Mosquitto 是一个开源(EPL/EDL许可)消息代理,它实现了 MQTT 协议版本 5.0、3.1.1 和 3.1。Mosquitto 重量轻,适用于从低功耗单板计算机到全服务器的所有设备。MQTT 协议提供了一种使用发布/订阅模型执行消息传递的轻量级方法。这使得它适用于物联网消息传递,如低功耗传感器或移动设备,如手机、嵌入式计算机或微控制器。Mosquitto 项目还提供了一个用于实现 MQTT 客户端的 C 库,以及非常流行的和命令行 MQTT 客户端。

2023-02-23 17:02:43 1187 2

原创 交叉编译 cJSON

JSON 是一种轻量级数据交换格式。它可以表示数据、字符串、有序的值序列以及名称/值对的集合。cJSON 是 ANSI C 中超轻量级的 JSON 解析器。cJSON 旨在成为您可以完成任务的最简单的解析器。它是一个 C 文件和一个头文件。作为一个库,cJSON 的存在是为了尽可能地减少跑腿活儿的工作,但不会妨碍您的工作。作为实用主义的观点(即忽略事实),我想说,你可以在两种模式中使用它:自动和手动。有几种方法可以将cJSON合并到项目中。

2023-02-23 14:36:18 1506

原创 如何给截图进行圆角处理

我给自己留了一个作业,为了让截图边角不再锐利,所以打算对截图进行圆角处理,并配合阴影效果打造更加优质的阅读体验。

2023-02-21 20:26:34 624

原创 交叉编译 SQLite

SQLite 是一个 C 语言库,它实现了一个小型、快速、自包含、高可靠性、功能齐全的 SQL 数据库引擎。SQLite 是世界上使用最多的数据库引擎。SQLite 内置于所有手机和大多数计算机中,并捆绑在人们每天使用的无数其他应用程序中。SQLite 是一款轻型的数据库,是遵守 ACID 的关系型数据库管理系统。它是 D.RichardHipp 建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。

2023-02-21 14:25:25 672

原创 交叉编译 zlib

zlib 被设计为一个免费的、通用的、不受法律约束的、即不受任何专利保护的无损数据压缩库,可在几乎任何计算机硬件和操作系统上使用。zlib 数据格式本身可以跨平台移植。与Unix 压缩和 GIF 图像格式中使用的 LZW 压缩方法不同,zlib 中当前使用的压缩方法基本上不会扩展数据。(在极端情况下,LZW 可以将文件大小增加两倍或三倍。)zlib 的内存占用量也与输入数据无关,如果需要,可以在压缩时降低一些成本。

2023-02-17 01:00:38 1897

原创 如何给截图添加阴影

想像一下,假如你的截图与文章的底色都是白色的,这样就无法区分图片与文字内容的边界,图片与背景融为一体,如下图所示:所以,如果需要突出图片内容,我们可以给截图添加阴影,这样文字与图片之间就会有一种层级感,可以给到读者一种立体的感觉。今天分享给大家的是利用 GIMP 来实现为图片添加阴影的技巧。

2023-02-14 01:00:00 433

原创 交叉编译 libcap

由于交叉编译 systemd 依赖 libcap 库,所以需要先将 libcap 交叉编译出来,注意不是,libpcap 是在 libcap 基础上开发的,systemd 使用的是 libcap。libcap 属于 Linux 内核开发的一部分,源码托管在 git.kernel.org 网站。在网站的下方有着非常清晰的 git clone 指引,你可以选择任意一个 git 地址进行克隆。

2023-02-04 23:18:58 1882 5

原创 Linux C/C++ 获取系统时间

C 标准库提供了time()函数与函数可以获取到当前系统的日历时间,但time()函数精度只能到秒级,如果需要更高精度的系统时间需要使用函数,精度达到微秒级。

2022-12-15 13:22:54 5367 2

原创 Linux C/C++ 单实例进程设计

当我们使用 C/C++ 开发一个守护进程或者一个服务端程序的时候,有时需要将该程序变成单进程,防止重复打开 socket 端口或者提供重复的服务。如果某个进程同时有多个实例运行,那么每个实例都可能尝试打开同一个端口或执行某个预定的操作,于是造成该操作的重复执行,这很可能导致出错。在 POSIX 系统中可以使用文件和记录锁机制来达成单实例进程设计。文件和记录锁机制为一种方法提供了基础,该方法保证一个守护进程只有一个副本在运行。

2022-12-01 22:44:50 1334

原创 Linux C/C++ 处理命令行参数

到目前为止,大部分人编写的所有程序都可以用一个命令运行。举个例子,如果我们编译了一个称之为myprog./myprog但是,如果你想从命令行向正在运行的程序传递信息,该怎么办?考虑一个更复杂的程序,比如 GCC。要编译myprog字符串-o,myprog和myprog.c都是 gcc 的命令行参数。(从技术上讲,gcc也是一个参数,我们稍后会看到)命令行参数非常有用。毕竟,如果不能向 C 函数传递参数,C 函数就不会很有用了——添加向程序传递参数的功能会使它们更有用。

2022-11-27 17:56:10 2795 1

原创 GCC 生成动态库

GCC (GNU Compiler Collection) 是由 GNU 开发的编程语言编译器。GCC 包括 C, C++, Object-C, Fortran, Java, Ada 和 Go 语言前端,也包括这些语言的库(如 libstdc++, libgcj 等)。

2022-11-16 16:59:03 959

原创 zlog 简易手册

zlog是一个高可靠性、高性能、线程安全、灵活、概念清晰的纯C日志函数库。zlog在效率、功能、安全性上大大超过了log4c,并且是用c写成的,具有比较好的通用性。

2022-11-01 17:33:01 515

原创 QNX 7.1 交叉编译 cron

cron 是 Linux 系统上一个非常有用的工具,它可以让你在特定的时间或间隔自动运行指定的任务,你可以使用它来自动执行日志转储、备份、发送邮件通知等。cron 最初是运行在 BSD 4.23 SysV 系统上,目前在 Linux 系统运行的是开源的 cron 实现,其作者为,最后的版本是 1993 年发布的 Vixie Cron V3.0,所以 cron 源码已经有非常长的时间未作任何变动了。

2022-10-27 15:13:00 1514

翻译 译:vsomeip 10 分钟阅读

SOME/IP 是 “SOEoverIP” 的缩写,中文翻译为:基于 IP 的可扩展面向服务中间件。该中间件设计用于典型的汽车用例,并与 AUTOSAR 兼容(至少在有线格式级别上)。公众可访问的规范可从以下站点获取。在本 wiki 中,我们不想进一步探讨另一个中间件规范的原因,但想大致概述一下 SOME/IP 规范及其开源实现 vsomeip 的基本结构,而不要求完整性。

2022-09-18 22:44:20 3174

原创 Ubuntu 安装 Wireshark

Wireshark 是一款图形化的网络协议分析工具。它允许你交互式地浏览实时网络或以前保存的捕获文件中的数据包数据。Wireshark 的本地捕获文件格式是 pcapng 格式,或者是 pcap 格式该格式也是 tcpdump 和其他工具所使用的格式。

2022-09-08 17:36:42 13846 1

翻译 译:SOME/IP 技术细节

SOME/IP 是一种可用于“控制消息”的汽车中间件解决方案。它从一开始就被设计为完美地适合不同大小和不同操作系统的设备,包括小型设备如摄像机、AUTOSAR 设备,上至头部单元或远程信息处理设备,SOME/IP 还确保支持信息娱乐域的功能以及汽车中其他域的功能,允许 SOME/IP 用于大多数替换场景以及更传统的 CAN 场景。

2022-09-06 23:50:18 937 5

翻译 在 Ubuntu Linux 中使用 PPA(完全指南)

这是一篇涵盖了在 Ubuntu 和其他 Linux 发行版中使用 PPA 遇到的几乎所有问题的深入的文章。

2022-09-04 20:03:41 4447 2

原创 Ubuntu 20.04 实践指南——前言

介绍编写该专栏的心路历程,初衷及目的。

2022-09-01 23:21:20 256

原创 快速上手 git

git 快速入门指导文档

2022-08-27 11:48:42 181

原创 Ubuntu/Linux 访问 Windows 共享文件夹

SMB 是一种在局域网上共享文件和打印机的通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。Samba 是在 Linux 和 Unix 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成。............

2022-08-15 16:43:27 2601 1

原创 Ubuntu/Linux 配置 vlan

虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。......

2022-08-13 21:39:38 3123

原创 C/C++读写二进制文件

结合 fread 与 fwrite 函数读写二进制文件

2022-08-09 23:53:55 6181

原创 C/C++获取文件大小

利用fseek()与ftell()函数可以计算出一个文件的大小。

2022-08-09 15:13:36 4841

原创 交叉编译 Crypto++

Crypto++ 是一个免费开源的 C++ 密码学库,由 Wei Dai(美籍华裔)首次开发,当前由 Crypto++ 项目团队维护,源代码在 github 上进行托管。

2022-08-06 23:39:27 1155

原创 UDP 基本通信框架

搭建最简单的 udp 通信框架

2022-08-01 22:15:54 447

原创 JsonCpp 使用指导

JSON 是一种轻量级数据交换格式。它可以表示数据、字符串、有序的值序列以及名称/值对的集合。JsonCpp 是一个 C++ 库,允许操作 JSON 值,包括字符串之间的序列化和反序列化。它还可以在反序列化/序列化步骤中保留现有注释,使其成为存储用户输入文件的方便格式。J...............

2022-06-24 14:27:08 5731 2

原创 交叉编译 JsonCpp

JSON 是一种轻量级数据交换格式。它可以表示数据、字符串、有序的值序列以及名称/值对的集合。JsonCpp 是一个 C++ 库,允许操作 JSON 值,包括字符串之间的序列化和反序列化。它还可以在反序列化/序列化步骤中保留现有注释,使其成为存储用户输入文件的方便格式。........................

2022-06-18 17:45:42 1232

原创 Ubuntu 软件包管理利器 - 新立得 (Synaptic)

Synaptic(中文名:新立得)是 debian 及其衍生版本如 Ubuntu Linux 操作系统的包管理工具 apt 的图形化前端。在早期的时候,Synaptic 几乎是所有基于 Debian Linux 发行版的默认图形化软件包管理器。它被认为是一种用户友好的、易于使用的管理应用程序的方法。...

2022-06-02 01:25:39 9234

原创 Ubuntu 18.04 安装 fcitx 中文输入法

小企鹅输入法 fcitx (Free Chinese Input Toy for X) 是一款 linux 平台下非常优秀的中文输入平台,支持 unix-like 操作系统,包括 linux 操作系统及 freebsd unix 操作系统,支持拼音、五笔等中文输入。

2022-05-30 00:21:51 8095 13

原创 Ubuntu 修改 apt 源为阿里云源

文章目录简介简介安装好 Ubuntu 系统之后,默认的源会指向 http://cn.archive.ubuntu.com,但是这个源地址在某些地区会出现无法连接或者是连接速度慢的情况,这时候我们需要更换一个更快的源来实现软件安装的需求,国内有名的源包括:网易源: https://mirrors.163.com阿里云源: https://mirrors.aliyun.com.........

2022-05-18 22:25:50 17571 1

原创 修改 Debian/Ubuntu 默认 Shell 为 bash

Bash (GNU Bourne-Again Shell) 是许多 Linux 发行版的默认 Shell。Dash,GNU/Linux 操作系统中的 /bin/sh 本是 bash 的符号链接,但鉴于 bash 过于复杂,有人把 bash 从 NetBSD 移植到 Linux 并更名为 dash (Debian Almquist Shell),并建议将 /bin/sh 指向它,以获得更快的脚本执行速度。

2022-04-11 19:45:06 5580

原创 Linux 使用 minicom 连接开发板

minicom 是一款 linux 下非常好用的串口通信工具,在大多数 unix-like 系统中均可以运行,比如常见的 Debian, Ubuntu, Redhat, Fedora, CentOS, SUSE 以及苹果的 MacOS 等,都可以安装并使用它。

2022-04-07 23:53:20 1922

C#计算器源代码

该计算器为精简版.仅支持键盘操作,<br>需要按钮的自行再添加

2007-11-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除