- 博客(44)
- 收藏
- 关注
原创 C语言库zlog日志库工具
zlog官网zlog是一个专为C语言设计的高性能、高可靠性日志函数库,具有以下核心特性与功能:高性能:支持每秒数万至数十万条日志记录(具体性能因配置而异,最高可达72,000条/秒),远超传统syslog的性能。线程安全与进程安全:适用于多线程和多进程环境,支持安全日志转档(日志文件按大小自动分割)。纯C实现:无第三方依赖,兼容POSIX系统和C99标准,适用于嵌入式Linux及其他资源受限环境。分类(Category):通过字符串标识不同日志来源,例如代码中可通过不同分类名输出不同目的的日志
2025-03-31 21:44:46
728
原创 git使用钩子文件出现错误
git/hooks/commit-msg: 行 1: ` Your browse does not support frame!无法commit 1 个文件: .git/hooks/commit-msg: 行 1: 未预期的符号。可以提交到本地,但是不能生成change-Id,无法推送到远程。
2025-03-24 22:15:18
203
原创 17_线程互斥量和信号量的使用
总结:信号量的参于带来线程阻塞到就绪状态,当等待的线程收到信号后,先变为就绪状态,争抢到互斥量后(能够上锁后),才能够进入运行态在使用条件变量和互斥锁进行线程同步时,带有条件变量等待的线程会经历一系列状态变化,从阻塞开始,到收到信号,再到获取互斥量。下面详细介绍这些状态变化。
2025-03-20 23:08:48
568
原创 Linux中shell对话框(dialog)编程
dialog 是一个在类 Unix 系统(如 Linux、BSD 等)的终端环境下使用的工具,它能创建各种交互式的对话框,以方便用户与脚本进行交互。这些对话框提供了一种直观且友好的方式,让用户无需手动输入复杂的命令或参数,就能完成各种操作。
2025-03-04 11:34:16
375
原创 16_嵌入式开发编译不同Linux平台的依赖库
执行./configure时,可能会出现找不到编译链工具的情况,需要在系统环境变量中添加编译器的路径。其中host指编译时使用的交叉编译工具链,prefix指编译后存放的位置。
2024-11-26 20:37:23
682
原创 15_Linux应用编程cJSON库的使用
该库非常简单,下载解压后如下图,正常使用时只需要cJSON.h和cJSON.c两个文件,将两个文件放入到项目中,引用cJSON.h头文件即可。git链接:https://github.com/moonright/cJSON。
2024-10-10 20:42:00
537
原创 14_Linux中参数和变量查看方法
Linux 系统中的变量种类繁多,涵盖了环境变量、内核参数、shell 内部变量以及系统配置变量等。查看这些变量的方法因变量类型而异,通常可以通过命令行工具如 printenv、sysctl、cat 等来查看。此外,也可以通过查看特定的配置文件来了解系统的配置信息。
2024-10-08 11:30:39
586
原创 13_Linux编程进程之间通信(完善中)
使用 O_RDONLY 方式打开命名管道时,如果没有进程以写方式 (O_WRONLY) 打开命名管道,open 函数将会阻塞(挂起),直到有进程以写方式打开命名管道。管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。示例中,创建一个父进程和子进程,父进程会通过管道向子进程发送一条消息,子进程负责从管道中读取消息并打印出来。命名管道克服了普通管道的一个限制,即它可以在没有血缘关系的进程间使用。套接字提供了一种跨网络的进程间通信方式,也可以用于本地进程间的通信。
2024-09-07 22:42:30
618
原创 11_Linux中如何让程序重启后自动启动
假设你的应用程序位于 /opt/myapp 目录下,并且有一个名为 myapp 的可执行文件。我们将创建一个名为 myapp.service 的文件,以定义如何启动、停止和服务的行为。[Unit][Service][Install][Unit] 部分Description:服务的描述。After:定义此服务依赖于哪些其他服务。在这里,我们指定 network.target,意味着服务将在网络准备好之后启动。[Service] 部分Type:定义服务的启动类型。
2024-08-15 22:01:25
673
原创 09_LINUX交叉编译工具链的配置过程和qtcreater软件配置方法
交叉编译工具链是一组用于在一台计算机上生成可在不同体系结构上运行的程序的工具。通常,交叉编译工具链由以下几个组件组成:交叉编译器:交叉编译器是工具链的核心组件,用于将源代码编译为目标体系结构上的可执行文件。交叉编译器能够理解源代码和目标体系结构之间的差异,并将代码正确地转换为目标平台上的可执行文件。调试器:交叉编译工具链通常还包括一个用于调试目标体系结构上的程序的调试器。调试器可以让开发人员在目标平台上运行程序,并提供查看变量、跟踪代码执行等功能。
2024-06-16 00:28:55
1164
原创 01_计算机网络--实用的网络运行机制
该文展示了网络通信中,设备怎样根据路由表和ARP寻找传输路径的原理,非常实用,在脑海中思考的过程中,需要注意报文所处的位置,报文起点,中转设备,目的设备。
2024-04-10 23:07:54
861
原创 虚拟机中win10无法上网
win11系统下,安装虚拟机,并在内部安装win10,遇到网络无法使用的情况,通过修改虚拟机中win10和win11的IP获得方式,,成功上网
2024-03-07 21:15:29
2277
原创 01_git的简单使用
全局配置文件通常位于~/.gitconfig,而本地仓库的配置文件位于仓库目录下的.git/config。cat ~/.ssh/id_rsa.pub //打印本地的SSH密钥,部署到服务器上即可与服务器加密通信。git checkout -b name //创建新的分支并切换到新的分支,需要重新指定追踪的代码。git branch -vv //打印本地分支,并显示所有分支追踪的远程分支名。git branch //打印本地所有的分支名称,*标记的分支为当前库分支。
2024-02-06 17:48:05
426
1
原创 图论(算法)--C++学习(5)
该文章主要是对算法设计中图论的学习总结----拓扑排序,最小生成树(Kruskal和Prim),最短路径(Dijkstra和Floyd)
2022-11-26 17:27:32
543
原创 C#调用C++的动态链接库dll中的程序,找不到程序入口
在C#调用C++生成的dll文件中的程序的时候,出现程序找不到相应dll文件入口的问题,经过实验有以下几种问题的可能。
2022-08-29 11:38:54
1152
原创 pycharm安装及导入项目注意事项
pycharm安装及导入项目注意事项python安装下载地址安装注意事项pycharm安装导入项目注意事项python安装下载下来安装包直接安装就可以,判断是否安装成功方法:1、win+R cmd 2、python下载地址版本:3.6百度网盘:链接:https://pan.baidu.com/s/1rbNrOz0Qm6AATjsLveLynQ提取码:b467官网: python官网.安装注意事项记得要勾选上,自动配置环境变量,否则需要自行配置变量信息pycharm安装尽量选
2021-10-09 12:02:39
826
原创 C# Json编码在TCP通讯中的一些使用总结
Json编码在TCP通讯中的一些使用总结Json的使用Json的使用心得具体代码链接Json的使用1、通过管理Nunet程序包,下载Newtonsoft.Json.DLL程序集2、程序中导入包;using Newtonsoft.Json;3、创建需要序列化的类,设计类中的属性结构,封装,构造4、序列化写法如下: string r= JsonConvert.SerializeObject(new 类名(根据构造填入对应的属性值));序列化的字符串结构如下:反序列化写法如下: s
2021-10-06 14:42:58
1604
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人