- 博客(92)
- 收藏
- 关注

原创 《从零开始学习Linux》——开篇
近日笔者新开专栏,《从零开始学习Linux》,Linux水深而且大,学了一圈之后,有懂得有不懂的,一直没有机会整体的全部重新捋一遍,本专栏的目的是,带着大家包括我自己重新学习Linux一遍这些知识,温故旧的知识,同时进阶新的自己,研究认知外的实物,我将尽我所能,写好这一个专栏,让大家和自己有所收获。希望我博客的分享,能让大家有所收获。大家可以叫我 《家驹(Strange_Head),或者顺哥》——家驹(Strange_Head)
2024-07-13 22:19:04
1239
1
原创 《基础篇》Linux新机配置一站式解决流程(2)——基础篇
本文介绍了Linux系统初始配置的完整流程。首先通过sudo apt update && sudo apt upgrade -y命令更新系统软件包,确保安全性;然后配置防火墙,允许SSH连接。接着安装关键工具:VIM编辑器及其基本操作,以及Git、Curl、Wget等基础开发工具。最后根据用户具体用途进行个性化配置。文章提供了详细的命令说明和验证方法,帮助用户快速搭建安全高效的Linux环境。
2025-08-30 13:32:05
873
原创 《基础篇》Linux新机配置一站式解决流程——基础篇
本文介绍了Ubuntu 20.04.6服务器的一站式基础配置指南,主要内容包括:1)通过hostnamectl命令或编辑配置文件修改主机名;2)使用useradd/adduser命令创建新用户并设置密码;3)通过usermod命令为用户添加sudo权限;4)修改.bashrc文件中的PS1变量来自定义终端提示符。文章提供了详细的操作步骤和注意事项,并配有实操截图,帮助用户快速完成服务器基础配置,避免常见问题。
2025-08-29 20:44:57
793
原创 《日记篇》舍
《舍》摘要:来深打拼两载,从蚊虫肆虐的陋室到二十平蜗居,父千里探望令我既喜且忧。奋斗与亲情拉扯间,父以目光洞穿我内心挣扎。七月十一夜长谈后终作取舍,泪写此文。父教会我持家之道、收敛心志,这段刻骨经历将成为未来基石。虽舍当下,必期远方。
2025-07-14 09:11:34
314
原创 cc1plus.exe:-1: error: out of memory allocating 65536 bytes
摘要:笔者在Qt编译LVGL时遇到cc1plus.exe内存分配错误(无法分配64KB内存),可能因系统内存不足、编译器限制或代码过大导致。建议关闭占用内存的程序、增加虚拟内存、拆分大文件或更换64位编译器。若使用QtCreator,需检查工具链配置是否为64位并确保无内存限制环境变量。该问题通常因编译环境资源不足引起,优先排查系统内存和编译器版本。
2025-07-08 11:16:44
478
原创 error: cast from ‘list_head*‘ to ‘long unsigned int‘ loses precision [-fpermissive]
内核链表宏中出现的指针精度丢失错误是由于64位系统下将指针强制转换为32位unsigned long导致的。常见于container_of宏的实现。解决方案包括:1)使用C99的uintptr_t类型保存指针转换;2)采用Linux内核的标准写法,结合typeof和offsetof;3)直接使用标准库的offsetof宏。推荐使用第三种方法,通过包含stddef.h头文件,利用offsetof获取成员偏移量,避免指针强制转换带来的精度问题。这种写法既安全又符合标准,是解决此类问题的理想方案。
2025-07-07 14:23:11
424
原创 《Linux系统编程篇》Linux目录动态检测应用 (inotify递归子目录)——工具篇
inotify(inode notify)是 Linux 内核自 2.6.13 版本开始提供的一种文件系统事件监控机制。它允许用户空间程序注册监控文件或目录,当发生特定事件时,内核会通知用户程序。与之前的dnotify相比,inotify提供了更丰富的事件类型和更高效的监控方式。
2025-03-20 18:23:11
1086
原创 《Linux系统编程篇》Linux Socket 网络编程01 API介绍(Linux 进程间通信(IPC))——基础篇
道可道,非常道;名可名,非常名。无名,天地之始;有名,万物之母。故常无欲,以观其象;常有欲,以观其体。两者同出而异名,同为之玄。玄之又玄,众妙之门。——老子《道德经》
2025-03-20 18:22:33
1217
原创 《Linux系统编程篇》Linux内存检测框架 ——工具篇
我们在查看Linux内存时候,可能会使用`free`命令,尤其是查找内存占用情况的时候,会在命令行不断的敲击`free`命令(真令人头疼)或者(`cat /proc/meminfo`),有没有方法直接在C语言中也就是我们的程序代码中添加一段程序,可以直接,实时的打印查看我们的程序,这样我们就可以在我们想要的地方直接查看内存的空余使用情况,当然有,那就是本节笔者分享下面这段程序的方法。
2025-03-10 20:40:31
736
原创 《Linux系统编程篇》共享内存(Linux 进程间通信(IPC))——基础篇
他总体的作用就是,在Linux当中开辟一段内存空间,使得两个进程可以同时访问,是的就是这么简单具体操作可以具象为操作一个文件(毕竟Linux中一切皆是文件呢)open一个文件(没有就创建他)我可以使用read读取他,也可以使用write去修改他。当然这个文件,也可以让所有进程看到,并操作。
2025-02-26 20:26:24
982
原创 《Linux系统编程篇》System V信号量实现生产者与消费者问题(Linux 进程间通信(IPC))——基础篇(拓展思维)
接上节,我们来详细展开一下 生产者-消费者问题,并用 System V 信号量 来解决它。这个经典问题帮助我们理解如何在多个进程间同步和互斥地共享资源。生产者-消费者问题是多进程同步问题中的经典例子。问题的背景是:有两个进程,一个生产者(Producer)不断生产产品,另一个消费者(Consumer)不断消费产品。两者都需要共享一个有限的缓冲区。生产者往缓冲区写入数据,消费者从缓冲区读取数据。为了避免并发问题,我们需要同步生产者和消费者的访问。
2025-02-25 20:42:20
665
原创 《Linux系统编程篇》System V信号量(Linux 进程间通信(IPC))——基础篇
System V 信号量(sem_t)是 Unix/Linux 系统中一种进程间同步和互斥的机制。
2025-02-21 16:36:46
1211
原创 自述谈心 日记篇20250221
笔者最近陷入了瓶颈,已经许久没有更新过了,在如今2025年,面对AI可以代替着人类做任何事情,我最近无数次的问自己,我还有没有意义要去学习,明明AI可以做到一切,知道世界的所有知识,我们的学习是否还有必要。
2025-02-21 14:53:32
292
原创 《Linux系统编程篇》POSIX信号量(Linux 进程间通信(IPC))——基础篇
在 Linux 系统编程中,信号量(Semaphore)是一种重要的同步机制,主要用于解决并发访问的互斥和同步问题。
2025-01-13 20:58:03
902
原创 《Linux系统编程篇》管道(Linux 进程间通信(IPC))——基础篇
在 Linux 中,进程是相互独立的,每个进程都有独立的内存空间。为了在不同进程之间交换数据,操作系统提供了各种 IPC 机制。这些机制可帮助进程完成数据共享、同步、通知和事件处理等任务。管道(Pipe)命名管道(FIFO)消息队列(Message Queue)共享内存(Shared Memory)信号(Signal)套接字(Socket)管道是最简单的 IPC 方式之一,适合在具有亲缘关系的进程(如父子进程)之间传递数据。管道是单向的,数据只能从一端流向另一端。
2024-11-01 18:12:14
1124
原创 《Linux系统编程篇》exec族函数——基础篇
当我们介绍完fork之后,你会发现虽然我可以同时跑俩个程序,但是还是太过于局限了,而且细心的学员们发现,进程直接是完全不互通的,好像fork之后什么也做不了,是的,只学完`fork`就是这样的,所以我们再来介绍新的知识。`exec`族函数。
2024-10-30 19:00:46
1113
原创 《Linux系统编程篇》fork/wait/waitpid/exit函数——基础篇
在 Linux 中,所有的进程都是通过 fork() 派生而来。当一个进程调用 fork() 时,操作系统会复制当前进程的上下文,为它创建一个几乎完全相同的副本,这个副本被称为子进程,而原始进程被称为父进程。这也是人们口中的父子进程的概念。
2024-10-28 19:40:42
1463
原创 《Linux系统编程篇》Linux进程的了解——基础篇
概念:进程(Process)是指计算机系统中正在运行的程序的实例。每个进程都有自己的内存空间、代码、数据、堆栈等资源,它们相互独立地运行,并且能够与其他进程并发地执行。进程是操作系统进行任务调度和资源分配的基本单位。操作系统通过创建、管理和调度进程来实现多任务处理,使多个程序能够同时运行,并且彼此之间不会干扰。举个栗子理解一下💡:把我们的地球想象成一个Linux系统,那么地球上的生物,画,鸟,鱼,虫,甚至人类,都是单独的个体,他们互不干扰,自己有自己的事干,共同的努力下才形成了当前稳定的地球。
2024-08-11 20:26:54
1049
原创 《Linux系统编程篇》文件基础编程 ——基础篇
在Linux系统编程中,我们先来看基本的API,理解基本的文件操作函数是非常重要的。这节我们带着大家一起进入文件编程。文件我们想到无非就三个操作,1、打开文件,2、操作文件内容,3、关闭文件把大象装进冰箱?是的,就是这么简单。于是乎,我们如何装进这个大象是我们学习的关键,用什么工具去打开冰箱(文件),如何把大象放进去(操作文件内容),放进去关冰箱(释放文件)我们在Linux系统上,当然用的是Linux系统的API,来操作系统的文件了,Linux系统给我们提供哪些工具呢?下面我列举了一些。
2024-07-16 23:16:51
854
原创 《Linux系统编程篇》认识在linux上的文件 ——基础篇
每一次努力都是一种投资,哪怕结果未必如愿,但你所获得的成长和经验都是无价的。坚持下去,你会看到那些投资最终会为你带来丰厚的回报。 ——家驹(Strange_Head)
2024-07-13 22:35:18
973
原创 《Linux系统编程篇》Visual Studio Code配置下载,中文配置,连接远程ssh ——基础篇
vscode绝对值得推荐,非常好用,如果你能体会其中的奥妙的话
2024-07-13 22:30:54
929
原创 解锁 AI 潜力:香橙派 AIpro 评测与实操指南
在智能科技飞速发展的今天,AI 技术正逐渐改变我们的生活方式。作为开发者,找到一款高性能、易用且经济实惠的开发板至关重要。香橙派 AIpro(OrangePi AIpro)凭借其卓越的硬件配置和强大的 AI 计算能力,相信未来会迅速成为市场上的一匹黑马。本文将带你全面了解这款开发板,通过实际操作和详细评测,揭示其在 AI 开发中的巨大潜力。无论你是初学者还是资深开发者,香橙派 AIpro 都能助你迈向 AI 开发的新高度。准备好了吗?让我们一同探索这款令人兴奋的 AI 开发工具!
2024-05-28 10:21:16
1649
原创 ubuntu20.04.6安装sshd服务,并连接到远程服务器
它负责提供远程登录和安全的 shell 服务。通过启动 sshd 服务,可以允许远程用户通过 SSH(Secure Shell)协议连接到您的计算机,并在远程执行命令或进行文件传输。物理主机使用mobaxterm(或putty)连接虚拟机ssh登录。
2024-04-06 16:14:15
2028
原创 Android 完整SDK项目中添加对应的JNI与底层通信
近日需要写一个安卓app和底层发消息,这就涉及到java如何到c层的一个逻辑,app已经写好,就差发个消息了。至于如何对接底层,得和写底层的人进一步沟通,本文笔者只写从java层通信到cpp,并且打印出一个值,至于通信底层,到了c层了,open,read一个驱动,也就轻轻松松了。
2024-03-07 15:25:09
695
原创 Android音量调节修改
今日公司,安卓设备的音量显示不正常,让我来修复这个bug,现在已修复,做个博客,记录一下,以后碰到类似一下子就好解决。
2024-01-27 17:29:26
1066
原创 Makefile文件里的赋值方法(第三节)
(实例1.1)int main()int a,b;//定义一个变量a和ba = 10;//将变量a赋值为10b = 20;//将变量b赋值20a = b;//再将b的值赋值a//打印变量areturn 0;结果是20。这是c语言中简单的赋值,但是在Makefile中如何实现赋值呢,他赋值还是使用的“=”号吗,还是有其他的更多的符号提供使用。一起进入这“该死”的Makefile中学习吧。
2023-10-19 00:04:15
471
原创 Makefile输出调试信息print(第二节)
低端的乃头乐发出人性的呼喊,高端的享受来自精神,享受自己进步的每一瞬间,欢迎来到我第二节课,加油。——张顺。
2023-10-04 17:59:24
1357
原创 Makefile核心(第一节)
makefile是相当重要的,只要你要写大工程,就必须学习makefile,我在网络找了半天没有找到合适且适合学习的资料,于是乎我想写一个关于Makefile系列的文章,将自己所学,并且总结起来,发布出来,和大家一起讨论进步学习。
2023-10-04 11:46:59
287
原创 全志orangepi-zero2驱动编写
这个框架需要和用户态的open等函数进行配合,需要知道linux内核框图可明白。这里作为一个拓展吧,每个内核编译都可能不同,具体找商家手册来看。编译成功后,看到源码树目录多了vmlinux,失败则无此文件。编译成功后,看到源码树目录多了vmlinux,失败则无此文件。成功后,目标zImage镜像arch/arm/boot底下。将.ko文件放到(没有ko就是内核编译有问题,重新编译去)打包zImage成树莓派可用的xxx.img。回到内核源码这里的路径进行编译。如有问题欢迎提出,共同进步。
2023-08-21 20:35:02
350
原创 Linux自动挂载U盘
这条规则的意思是:如果有一个设备的内核名称为sda,则该条件生效,执行后面的赋值:在 /dev 下产生一个名为my_disk 的设备文件,并把设备文件的权限设为 0660。:设备的 devpath 路径下,设备的属性文件 “filename” 里的内容;:设备在 devpath 的设备驱动名称,例如:ide-cdrom;:设备的子系统名称,例如:sda 的系统为 block;:设备在 devpath 里的总线名称,例如:usb;:内核设备名称,例如:sda,cdrom;:设备的 devpath 路径;
2023-08-20 17:15:20
588
原创 Linux的热拔插UDEV机制
udev是一个设备管理工具,udev以守护进程的形式运行,通过侦听内核发出来的uevent来管理/dev目录下的设备文件。udev在用户空间运行,而不在内核空间 运行。它能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。设备文件通常放在/dev目录下。使用udev后,在/dev目录下就只包含系统中真正存在的设备。
2023-08-20 16:59:15
402
原创 【ARM-Linux】项目,语音刷抖音项目
当然也是用source insight分析源码cv编写,没写注释,将就看吧,这俩个文件,比较难啃,都是和linux内核打交道。插入开发板,跳出什么就点允许就行(否则可能没有权限开发板无权访问手机系统)这个模块其实进入网站点点点就可以完成,非常方便,但是没有什么技术含量。测试没问题将语音模块RX和TX接入开发板的RX,TX端口。安卓手机开启,开发者模式,并开启USB调试功能。到这里就是简单的处理语音模块发来的命令了。如有问题,欢迎提出,共同进步。su-03T语音识别模块。配置SU-03T模块。
2023-08-20 16:25:28
915
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人