自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(810)
  • 资源 (3)
  • 收藏
  • 关注

原创 ubuntu 解挂载时提示 “umount: /home/xx/Applications/yy: target is busy.”

在 Unix 类系统(如 Linux、macOS)中,许多资源(如网络套接字、设备文件等)都被抽象为文件,lsof 可以列出当前系统中所有被打开的文件以及与之关联的进程信息。用于递归地查找指定目录 /home/xx/Applications/yy 及其子目录下所有被打开的文件,并列出使用这些文件的进程信息。找到界面中会打印占用这个挂载路径的所有进程信息,取出其中的各个PID,并手动将这些进程都kill掉。问题如题所示,我挂载一个squanfs文件系统到指定目录,当我使用完后,准备解挂载时,提示。

2025-03-21 15:27:22 320

原创 dart中的主子isolate带参通信(主isolate - 多个子isolate)

原因:由于项目中主要耗时的任务分为两类,一个是数据库处理,另一个是http相关的处理,之前我偷懒,就把这两个都放到同一个子isolate中去处理。当然是我这边的锅,前文中的例子,主子isolate间的通信是主发给子,子处理完再发回给主,再关闭port,如果子isolate中发生了异常、卡死等的问题,则主无法再向子发出处理要求。是主isolate和一个子isolate间的通信,这里再给出个主isolate和多个isolate之间的通信例子,这个例子给出的是2个子isolate。

2025-03-12 16:52:34 202

原创 dart中实现子isolate的管理类(主子isolate带参通信),特适用于针对数据库的处理

dart中的isolate已经困扰我好几天了,主要项目需要,比如对数据库的处理,都放到一个单独的子isolate(子线程)中,优势在于,当数据库足够大时,对数据库的处理可能较为耗时,这时,只用dart的主isolate,可能会对其他逻辑的处理,造成阻塞。最开始接触isolate时,主子isolate发送接收port,很容易绕晕,不过,结合一些网上资料,加上这个简单的demo,有助于理解,希望能帮到一些和我一样,因刚接触isolate而头疼的人。至少让我豁然开朗了,也看到了自己思维的局限性,不够扩散开来。

2025-03-07 17:39:04 360

原创 flutter/dart 中Timer里内容什么时候首次执行

当个小tip了解即可,在给出的这行代码中,使用 Timer.periodic 来创建一个周期性的定时器时,第一次执行指定的回调函数(这里是 getCamStatusFresh)是在指定的时间间隔之后,也就是说,getCamStatusFresh 函数会在 10 秒之后首次执行,之后每隔 10 秒执行一次。这个细节之前一直没留意过,直到一次代码运行时,发现本该直接出结果的打印,缺要隔好一会才会出。这我才知道,我又有东西不知道的了。

2025-03-07 17:16:22 159

原创 flutter将utf-8编码的字节序列转换为中英文字符串

这里遇到的问题是,我通过某种方式拿到了utf-8编码的字节序列,我只知道他们对应的是中英文字符。怎么将其转成中英文,并打印,让我对utf-8编码有了些许许的了解。打头且带有两个十六进制数的string(unicode码点)。所以,需要把这每个的十六进制数的编码部分,都依次转换为字节。4、最后,使用utf8.decode方法对这个列表作解码,就能得到其对应的unicode字符内容。这样的开头部分,就获取紧跟其后的两个十六进制数,并把它转成整数,然后添加到列表中;开头的,就直接把它放到列表里;

2025-02-21 19:26:36 373

原创 将SquashFS文件mount到指定文件夹时,提示‘failed to setup loop device for’

我手里有一个压缩起来的SquashFS镜像文件,由于我想查看此镜像文件中的内容,常做的就是将其挂载(mount)到一个空白的文件夹。命令没有正确地将这个SquashFS镜像文件关联到一个循环设备(loop device)。命令将这个循环设备挂载到目标文件夹。挂载的大致过程为:镜像文件 -> 空闲循环设备 -> 目标空闲文件夹。查看当前循环设备的关联情况,可见当前空闲设备。在解挂载镜像文件后,需断开循环设备的关联。),并将文件关联到这个循环设备,然后再用。,由图中可知当前空闲的循环设备是。

2025-02-18 11:44:05 390

原创 ubuntu使用防火墙开放和关闭指定端口

防火墙可以阻止或允许外部对特定端口的访问,Ubuntu 常用的防火墙管理工具是 ufw(Uncomplicated Firewall) ,如果在开发网络通信相关的内容时,要确保所需的端口是打开的,这样可以排除出题出现时的一个问题——端口未打开。

2025-02-11 22:41:56 669

原创 ubuntu 22.04 arm版国内镜像源,亲测可用

因为工作原因,需要对项目工程在ubuntu 22.04 arm中进行编译,然而packages缺的挺多,安装起来经常太慢且容易Failed。因为网上较多的资料都是x86版本的,关于这个国内镜像源,时间太久远的,可能那源会有问题,所以我一直只找最近博发布的资料(关于国内镜像源的)。这里找到了ubuntu22.04arm版本中科大的国内镜像源,亲测可用,记录一下。将下面给出的源替换进去,并ctrl+O(保存)、ctrl+x(退出)更新源,如果无误,后续就可以更快的安装我们需要的内容。

2025-01-24 11:12:55 870

原创 给已有的.so库重新封装一个新的库,并能使用新旧库中的函数

此时,libnew.so 就是一个新的动态库,我们可以直接使用 libnew.so 来访问新旧库中的函数,而无需直接与 libold.so 交互。这一步很关键,至少我的问题主要出在这步,也是我太菜,好久才捋顺思路,到最后没出问题。要求如题,这里给出一个简单的例子,自己亲测可用之后才记录下来。这里如果包含了多个库的头文件,以及想了解参数含义的,可看看。,而我们需要在它的基础上重新封装一个新的库。外,还提供一个新库中的函数。编写封装代码,即新库的生成代码。的现有库,它包含函数。的文件为例,内容如下,

2024-09-04 20:05:10 722

原创 命令行gcc编译一个包含多个头文件的cpp项目并生成动态库.so

编译是将源代码(.c 文件)转换成目标代码(.o 文件),链接是将一个或多个目标代码文件与库文件结合起来生成最终的可执行文件。动态库是一种在运行时被加载的库,而不是在编译时静态链接到程序中。这可以让多个程序共享同一份库的副本,节省内存和磁盘空间,且易更新库。位置无关代码是一种可以在内存中的任何位置执行的代码,可用于创建动态库,因为动态库在运行时可能会被加载到内存中的任意位置。这个选项后面跟着的是头文件所在的目录路径,如果有多个目录,可以重复。so库文件是在linux下使用的库文件,文件前缀须为lib;

2024-09-04 17:03:59 709

原创 flutter中Process.start执行命令后,kill对应进程

我在flutter中用dart:io库中的Process.start执行一个命令行后,怎么也无法删除,尝试用dart给的process的pid,再kill掉,发现所给的并不是正确的pid,故此,我通过。这个函数的大致逻辑,是让其找到python对应进程的进程号,然后把他kill掉。得出当前正在执行的所有进程信息,kill掉所指定的进程。

2024-08-30 12:23:56 1008

原创 flutter存储日志文件代码

如题所示,我需要将flutter运行得到的相关日志信息存储成文件,可以按时间或者文件大小,将日志文件拆分存储成多个日志文件。在项目中我已实现这个功能,因为觉得有用,所以单独简化出来放在一个demo中。demo中没有使用logger类插件的,借鉴了网上大神的代码,并在其基础上修改。demo很简单,留作后用。这里给出我整理出来的一个小demo(demo的实际效果如下图所示。

2024-07-31 20:12:38 384

原创 docker中创建一个容器并进入交互模式

创建完成后,查看容器会发现,容器名很随机,如果想指定容器的名字,可使用命令。

2024-06-17 22:19:32 159

原创 ROS2安装教程之强大辅助

第一次接触ROS2,安装时跟这个,跟那个教程,真的是一把泪,耗费数多个小时,依旧存在一些或多或少的问题,最主要的是永远提示。直到遇到了一个鱼香大佬,是真的香啊,好不容易找到的资料,必须贴出来。傻瓜操作,我真的是感激涕零,一把鼻涕一把泪啊。PS:网上的教程也要看看的,但这个资料也确实有帮助,可以辅助看。

2024-05-24 12:19:34 355

原创 flutter使用dbus插件时,在终端无法使用“dart-dbus”命令

不用flutter的人,可能都不会找到这儿,遇到这个问题,所以这里默认flutter已经装过了,且对flutter如何使用插件也有所了解了。由于我在项目中用到了dbus插件,用法如图所示,我需要使用这条命令来生成一个source file。然而,终端执行却报错,不认识 dart-dbus 命令。这个问题,我搜不太到,所以不确定是不是普遍性的问题,还是记录下,万一有人遇到了呢。

2024-05-23 21:36:52 400

原创 ubuntu手动替换源后,更新源时提示“仓库.... jammy Release“ 没有Release文件

问题如图所示,由于问题不好定位,我就从替换源,以及解决错误提示这两个步骤,来解决其中可能存在的问题。

2024-05-23 21:04:19 2910 3

原创 在flutter项目中使用自己做的flutter插件

把插件项目放置在Flutter项目根目录下的一个特定文件夹中。这里,我是创建了一个文件夹,名字为。在Flutter项目中,导入插件,这时,就可以调用插件里头的API了。注意,格式要严格一致,多一个缩进就会出错。命令,让Flutter项目获取到这个插件。中,添加对自己插件的依赖。,并把插件项目复制进去。在Flutter项目的。

2024-03-19 17:12:38 1119

原创 flutter-elinux的基本介绍及安装调试

搜集到两个很有用的网站:1、flutter-elinux的基本介绍:

2024-03-19 16:40:07 674

原创 flutter中的RelativeRect.fromLTRB

RelativeRect.fromLTRB 是一个用于指定矩形位置的便捷构造函数,它需要四个参数:left, top, right, bottom。这四个参数分别代表了矩形左上角的 x 坐标、y 坐标以及右下角的 x 坐标、y 坐标。其中,矩形的中心点位于矩形的左上角与右下角连线的中点。

2024-03-15 11:24:39 663

原创 Flutter,点击图标后,显示下拉条目选框

这里给出两种方式,一种是点击时没有动画效果的Icon+GestureDetector,另一种是点击时带动画的Material Widget自带的IconButton。

2024-03-15 11:20:46 943

原创 在ubuntu中,如何一条语句执行2个命令

先解释下,我这里的这个意思是,使用一条语句,让终端去执行2个操作,是两个命令分别对应的操作。,则需要将先执行command1,仅当command1执行成功后,才会继续执行command2,否则停止执行。这表明,需要将前一个命令的输出作为后一个命令的输入,也就是linux中的管道通信。此时,前一个命令必须先执行成功,才能继续执行接下去的命令。,会先执行command1,并将其输出作为command2的输入。是依次执行command1和command2,多条命令依次类推。:使用竖线 | 分隔多个命令。

2024-03-07 20:53:23 943

原创 C++关于socket中收发数据不完整问题

每一个socket在被创建之后,系统都会给它分配两个缓冲区,即输入缓冲区和输出缓冲区。输入输出缓冲区,系统会为每个socket都单独分配,并且是在socket创建的时候自动生成的。一般来说,默认的输入输出缓冲区大小为8K。套接字关闭的时候,输出缓冲区的数据不会丢失,会由协议发送到另一方;而输入缓冲区的数据则会丢失。

2024-03-07 20:32:13 1154 1

原创 ubuntu下命令行安装指定版本的jdk,并在多jdk时指定默认版本

分别输入对应 java 、javac 版本的编号,并按下 Enter 键。step3、验证 java 和 javac 的版本是否正确。step1、打印当前系统中已安装jdk的相关信息。step2、选择需要的jdk版本。

2024-01-31 19:32:30 1167

原创 使用Scrollbar时,提示“flutter: Interceptor: ══╡ EXCEPTION CAUGHT BY ANIMATION LIBRARY ╞═══”

问题如图所示,我写了一个小例子,来学习。

2024-01-31 19:21:51 676

原创 C++中JSON与string格式互转

1、在C++中新建一个json对象并赋值,然后将其转给char *data。2、在使用 #include <json.h> 头文件时,通常是使用第三方库 jsoncpp。由于它不是标准库的一部分,所以需要从官网下载相应的源码包,并在编码时包含其头文件。

2024-01-15 21:28:27 4391

原创 Ubuntu下,Flutter安装及在VScode中的配置

在自己指定的目录下,新建文件夹,并将源码git clone到本地。

2024-01-15 21:12:43 1805

原创 如何一次性scp多个文件到远程机器上

但是前提为,你对远程主机有访问权限。

2023-12-15 19:48:00 2741

原创 ssh时怎么同时指定其端口号,以及scp文件到远程的指定端口

如果我要将本地文件 /path/to/local/file.txt 复制到远程主机 example.com 的 /path/to/remote/ 路径下,并使用自定义的端口号 12345,我该怎么做?如果想要通过 SSH 连接到指定端口的远程服务器,可以在 SSH 命令中使用 -p 或 --port 参数来指定端口号。在执行命令时,系统会要求输入远程主机的密码(如果使用密码进行身份验证)。其中, 是要连接的端口号,user 是远程服务器上的用户名,host 是远程服务器的地址或 IP。

2023-12-14 20:44:35 3995

原创 已知某个脚本在运行,查找并打印它对应的所有进程的详细信息并kill

step 1、首先,使用ps -ef | grep <脚本名称>命令查找正在运行的该脚本的进程ID(PID)。如果该进程无法进行关闭,也可以使用kill -9 命令,它将向进程发送一个强制终止信号,确保该进程被关闭。如题,如果我已知系统中有一个脚本在运行,但是这个脚本有多个相同的命名方式,或者说,我在不知觉的情况下,给它运行了多次。这个命令将输出包含正在运行该脚本的进程信息,包括进程ID。记录下进程ID,它通常是该输出的第二列值。命令,该命令可以显示所有进程的PID、启动时间和命令行。

2023-12-14 20:33:50 239

原创 pulseaudio使用pacmd命令进入pa设置界面,提示“No Pulseaudio daemon running, or not running as session daemon.”

开启pa,终端提示,它不适合在root下使用,但是依旧可以进入。

2023-11-29 21:01:32 1230

原创 docker start一个容器之后,怎么进入这个容器界面

要进入已经启动的 docker 容器的交互式终端,可以使用。

2023-11-29 20:34:47 2172

原创 Linux下~目录和home目录的区别

它是主目录的完整路径。每个用户在 Linux 系统中都有一个独立的主目录,其中存放着该用户的配置文件、个人文件等。如果当前机子下有user1和user2两个用户,则进入/home目录,ls下,便可看到这两个用户名对应的文件夹。:表示当前登录用户的主目录。例如,如果你当前是以用户user1的身份登陆,则 ~ 路径就等于 user1 自己的主目录,即 /home/user1。在 Linux 中,~(波浪号)路径和 home 路径都与用户的主目录(home directory)相关。

2023-11-29 20:15:03 802

原创 Ubuntu下怎么使用cat命令查看大文件时,从第一行开始显示

注:使用箭头键向上或向下滚动浏览文件内容,按下 q 键退出 less 模式。或者使用其他 less 命令来进行更复杂的浏览和搜索操作,例如按下 / 键后输入关键词进行文件内搜索等。

2023-11-29 19:59:51 232

原创 ubuntu下如何查看.gz压缩包中的内容,以及grep过滤查找文件中的某些内容

4、过滤查找文件中的内容,并显示其上下3行的内容。1、查看压缩包file.gz中的全部内容。注:我通常先解压,然后再grep。2、对一个.gz的压缩包解压缩。3、过滤查找文件中的某些内容。

2023-11-28 20:06:35 1463

原创 linux下,如何查看一个文件的哈希值md5以及sha264

这也正是哈希算法的特性之一:无论文件的大小如何,生成的哈希值都是固定长度的。即使是对于非常大的文件,比如几个 GB 的文件,计算出的 MD5 哈希值也是长度固定的 128 位。然而,需要注意的是,由于 MD5 是哈希碰撞的漏洞,即有可能存在两个不同内容的文件拥有相同的 MD5 值。出于安全考虑,MD5 已不再被认为是足够安全的哈希算法,尤其是用于敏感数据的校验。SHA-256 是一种较为常见和安全的哈希算法,用于验证文件的完整性或作为文件的唯一标识。这种哈希算法生成的值是固定长度的,通常为 256 位。

2023-10-13 17:23:57 3856

原创 Ubuntu下,怎么通过pulseaudio查看音频输入输出设备的状态

打开pulseaudio控制台查看当前音频输入输出设备的状态。(注:source为输入设备,通常为显卡,sink为输出设备,通常为音响之类)在安装完pulseaudio的情况下,可以使用。查看所有pa中相关的一些命令集合。

2023-09-22 17:43:32 2481

原创 Remmina中VNC、SSH和RDP的区别

RDP 是由 Microsoft 开发的远程桌面协议,允许在 Windows 系统上远程访问和控制远程计算机。RDP 提供了高度的可视化远程控制能力,我们可以远程访问和操作远程 Windows 桌面。它支持多种远程连接协议,包括 VNC(Virtual Network Computing)、SSH(Secure Shell)和 RDP(Remote Desktop Protocol)。VNC 在远程计算机上创建一个虚拟桌面,将桌面图像和用户输入传输到客户端,实现远程访问和控制。(简言之,图形化远程访问)

2023-09-21 20:08:11 1249

原创 在服务器上搭建pulseaudio的运行环境,指定其运行目录、状态目录和模块目录

要指定 PulseAudio 的运行目录,可以在配置文件中找到 runtime directory 选项并相应地修改其值。:通常情况下,PulseAudio 的配置文件位于 /etc/pulse/default.pa 或 /etc/pulse/client.conf,我们可以在其中的任何一个文件中进行相关配置。如果想在搭建 PulseAudio 的服务器上指定其运行目录、状态目录和模块目录,可以通过修改 PulseAudio 的配置文件来实现。该选项通常位于 default.pa 文件中。

2023-09-20 14:47:13 1061

原创 pulseaudio中,./bin/pulseaudio --system -vvvvvvvvvv的作用

the default configuration script to execute when the PulseAudio daemon is started. If the version in the user’s home directory does not exist the global configuration script is loaded. See default.pa(5) for more information.(启动PulseAudio守护进程时执行的默认配置脚本。

2023-09-18 19:30:55 310

原创 ubuntu下在远程登录的主机上广播信息

将“username”替换为你要发送消息的目标用户的用户名,将“ttyname”替换为你要发送消息的终端设备的名称(可选),将“Your message here”替换为你要发送的实际消息。:有些系统提供了专门的广播工具,例如,Ubuntu系统中有一个名为“bcast”的命令行工具可以用来向所有用户广播消息。:write命令可以向特定的用户发送消息,也可以通过特定的终端设备发送消息。:wall命令可以将一条消息发送给所有登录到主机上的用户。将“Your message here”替换为你要广播的实际消息。

2023-09-18 17:54:50 375

fscapture 安装包.rar

这是一个体积特别小的小软件,可以用来截图、录屏、取色等,使用起来特别方便。由于很小,所以也不会很占空间,在学校时,老师很推荐的一款

2020-06-10

VC++6.0安装包.zip

Visual C++ 6.0 ,用于编写C语言等,内有安装步骤,绝对简单,完整,安装完毕 ,是企业版,已帮同学多次安装,无误。

2020-04-04

keil5安装包

keil5的安装包,可以用来51开发板的编程,支持C语言,汇编语言等的编写

2018-10-26

空空如也

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

TA关注的人

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