- 博客(18)
- 收藏
- 关注
原创 Linux文件系统
Linux 文件系统是一个多层面的结构,由三个基本层组成。从根本上来说,逻辑文件系统充当用户应用程序和文件系统之间的接口,管理打开、读取和关闭文件等操作。除此之外,虚拟文件系统有利于多个物理文件系统的并发操作,提供标准化的兼容性接口。最后,物理文件系统负责磁盘上物理内存块的有形管理和存储,确保高效的数据分配和检索。这些层共同形成一个有凝聚力的架构,协调 Linux 操作系统中数据的组织和高效处理。
2024-11-23 13:46:28
818
翻译 原星链Starlink路由器的分析和逆向工程
该路由器的核心是流行的 QualcommIPQ4018SoC:四核 ARM Cortex A-7、802.11ac WiFi 5GHz 和 2.4 GHz 支持,均为两个通道。此外,该 SoC 还集成了加密引擎和带有硬件 NAT 和流量引导的交换引擎。
2024-11-15 19:41:34
701
原创 通过系统调用的原始 Linux 线程
Linux 在线程方面拥有优雅而漂亮的设计:线程不过是共享虚拟地址空间和文件描述符表的进程。进程产生的线程是主“线程”父进程的附加子进程。它们通过相同的进程管理系统调用进行操作,无需一组单独的线程相关系统调用。它的优雅程度与文件描述符的优雅程度相同。
2024-11-14 14:52:11
985
原创 C++ 中的宏用法
我仍然看到很多地方#defines(在 C 和 C++ 中都有),而且我几乎可以肯定在大多数地方,这些并不是真正需要的。有时,我还了解到有一种方法可以用模板或其他构造来表达/替换宏,所以我最终决定列出我遇到的用例,其中用其他东西替换宏是有意义的,以及我不知道有任何替代方案。
2024-11-12 21:31:41
1267
原创 Linux 上实用的无 libc 线程
问题是无法避免使用一些汇编。clone和clone3系统调用都没有与 C 兼容的线程语义,因此您需要使用每个体系结构的一些内联汇编来掩盖它。本文将重点介绍 x86-64,但基本概念应该适用于 Linux 支持的所有体系结构。glibcclone(2)包装器在原始系统调用之上安装了一个与 C 兼容的接口,但我们不会在这里使用它。
2024-11-11 17:28:50
972
原创 Windows超薄读写锁
不透明枚举提供了额外的类型安全性:它们具有整数的属性,包括琐碎的破坏,但属于不同的类型,编译器禁止将其与其他整数混合。我们不能意外地交叉条件变量和锁定参数——这是我的主要担忧。除了零初始化之外,我们实际上并不关心这些变量的值,因此枚举器是不必要的。(警告:GDB 无法显示不透明枚举,这有点令人恼火。)
2024-11-09 17:03:43
437
1
原创 Windows 动态链接取决于活动代码页
几十年来, Windows 路径一直采用WTF-16编码,但可移植可执行文件的导入表中的模块名称是八位字节。如果名称包含 ASCII 以外的值(技术上超出规范),则动态链接器必须以某种方式将这些八位字节解码为 Unicode 才能构建查找路径。有多种方法可以做到这一点,最明显的是进程的活动代码页 (ACP),这正是发生的事情。因此,链接器加载的特定 DLL 可能依赖于系统代码页。在本文中,我将设计这种情况。
2024-11-09 16:10:43
849
原创 qt c++多语言翻译,我认为qt多语言翻译太麻烦了提到翻译我就害怕,就自己写一个
qt c++多语言翻译,我认为qt多语言翻译太麻烦了提到翻译我就害怕,就自己写一个,其实用一个lan.csv文件, Excel文件编辑一下就行了,新语言就增加一列,新增翻译就往下添加行
2024-03-18 19:19:31
460
原创 qt c++ c语言Linux串口通信服务
qt c++ c语言Linux串口通信服务,串口开线程读写的数据,你可以根据自己的配置修改,接收数据和发送数据加强。内核缓存串口数据,你一次传输100个字符,一次就能接收完,否则你就要循环一百次接收数据,如果循环过快内核来不及缓存,那你接收到的数据就不确定了
2024-03-14 17:53:23
551
1
原创 C++ C语言循环链表但也不是吧,只有一小段代码,就像玩笑
C++ C语言循环链表但也不是吧,只有一小段代码,就像玩笑就以张三李四两人关系来看下循环链表 ,你可以再加一个人王五并停止无限循环
2024-03-09 23:13:15
418
1
原创 C++ C语言 qt连接管理wifi界面 代码加wpa_supplicant工具连接,当然代码肯定会报错,我相信你们可以解决。不能解决联系我
C++ C语言 qt连接管理wifi界面 代码加wpa_supplicant工具连接,当然代码肯定会报错,我相信你们可以解决。不能解决联系我
2024-03-08 16:42:18
1127
3
原创 c++ qt 智能指针auto_ptr,unique_ptr,shared_ptr,weak_ptr这些指针的原理只有一个,我就不花里胡哨了
c++ qt 智能指针auto_ptr,unique_ptr,shared_ptr,weak_ptr这些指针的原理只有一个,我就不花里胡哨了
2024-03-08 16:11:59
460
1
原创 linux arm嵌入式u盘挂载文件名显示中文
mount是挂载命令,U盘插入是以设备的方式放在/dev/目录下,一般是/dev/sda,/dev/sdb等后面再跟上123等就是U盘分区的意思,当然也有其他的存储设备内存卡、flash等。
2024-03-08 14:39:44
524
1
原创 qt c++十六进制转中文 “\\xe4\\xbd\\xa0“等于中文“你“
在嵌入式平台遇到的,qt c++十六进制转中文 "\\xe4\\xbd\\xa0"等于中文"你"
2024-03-04 18:03:22
654
1
原创 qt函数建议返回值
自己在项目中遇到过,函数没有返回导致崩溃bug,如果没有警告和报错不好排查qro或qri文件添加下面一句没有返回值编译就报错QMAKE_CXXFLAGS += -Wreturn-type -Werror=return-type #除void外函数必须有返回值否则程序会有未知错误(崩溃、不稳定等)
2024-03-02 14:43:49
462
1
原创 Linux Arm Qt支持鼠标热插拔
我使用的是5.9以上版本,可能不支持鼠标热插拔,修改源码可以支持鼠标热插拔,获取会遇到屏幕触摸点击不准确,也是修改源码解决
2023-06-25 09:03:03
643
1
原创 linux
LinuxisanUnix-likeoperatingsystembasedontheLinuxkernel,anoperatingsystemkernelfirstreleasedonSeptemberbyLinusTorvalds.LinuxistypicallypackagedasaLinux.LinuxisanUnix-likeoperatingsystem。
2022-11-20 22:30:54
107
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人