- 博客(148)
- 收藏
- 关注
原创 运行时报错:libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found (required by ./Server)
你的报错根源是动态链接下,运行机器的 GLIBC/GLIBCXX 版本低于编译机器,无法找到高版本库符号。静态链接通过「将依赖的库代码打包进可执行文件」,不再依赖运行机器的共享库,从根本上解决版本不匹配问题。Makefile 中的-static是实现该效果的核心参数,分别对应系统库、GCC 运行时库、C++ 标准库的静态链接。= yes# 静态链接:解决目标机器 GLIBC/GLIBCXX 版本过低的问题else# 动态链接:需要目标机器有对应的共享库endif。
2026-02-05 09:15:05
514
原创 Linux程序接收到sigpipe信号崩溃处理
在代码中添加了对 SIGPIPE 信号的忽略处理。这样当连接断开时, send 函数会返回错误(errno 为 EPIPE),而不是直接让进程崩溃,从而允许程序正常处理错误并继续运行。该信号的默认行为是终止进程。当您刷新 Web 界面时,旧的 WebSocket 连接可能被意外关闭,如果此时服务器刚好尝试向其发送数据,就会触发此信号导致崩溃。原因分析: 在 Linux 网络编程中,当向一个已关闭的 socket 发送数据时,内核会向进程发送 SIGPIPE 信号。
2026-02-04 14:06:46
79
原创 sem_timedwait函数
2. 等待时间超过了 ts 指定的时间(超时),此时函数返回 -1(errno 为 ETIMEDOUT ),线程被唤醒继续执行(通常是进行周期性的轮询检查)。1. update_sem 的值大于 0(即有人调用了 sem_post ),此时函数返回 0,表示收到了数据更新通知。这种机制允许订阅管理器在没有数据更新时挂起以节省 CPU,但又能及时响应数据变化或定时唤醒以处理周期性采样任务。- update_sem 是一个信号量(Semaphore),用于通知订阅管理器“有新数据写入了共享内存”。
2026-01-27 09:54:28
197
原创 解决本地访问远程桌面端口被拦截
远程桌面(默认 3389 端口)能通,但 8080 端口大概率被防火墙拦截了。添加上server.address=0.0.0.0,重启服务后,依然不能访问。这是最基础的前提 —— 如果服务没启动 / 监听端口错误,后续排查都无意义。(仅本地访问),不会监听服务器的外网 IP(192.168.1.10)。可能被第三方应用拦截,也可能是springboot没有绑定所有网卡。(表示监听服务器所有网卡的 IP),重启 Java 服务后再测试。—— 关闭公用网络的防火墙后能访问,本质是。重启防火墙,使策略生效。
2026-01-16 13:45:58
387
原创 springboot+vue+mysql手搓一个管理系统
系统实现了从需求提出、审批、流转、处理到完成归档的闭环管理,并集成了基于角色的权限控制(RBAC)、工作流节点记录及数据统计分析功能。• 全生命周期管理: 支持草稿、发布、审批、指派、执行、完成、终止、回退等完整状态流转。• 流程可视化: 自动记录每个流程节点的操作人、操作时间、耗时,并以时间轴形式展示。• 权限控制: 细粒度的角色权限(普通用户、审批人、管理员),支持动态数据权限。• 数据统计: 包含需求状态分布、处理耗时统计等。• 构建工具: Vite 5.0。
2026-01-13 11:48:21
462
原创 MD在线转word工具
很好用的一个工具:Markdown在线编辑器,Markdown免费转Word/Html/Pdf,Word转Markdown - 在线工具
2026-01-07 10:06:54
356
原创 vscode安装clang-format
ctl+shift+p 找到selection format with,选择c/c++ default,然后就好了。
2025-11-14 09:13:36
167
原创 _POSIX_C_SOURCE的作用
在C语言编程中,使用宏定义可以帮助开发者指定希望使用的POSIX(Portable Operating System Interface,可移植操作系统接口)标准版本。这个宏定义通常在编译时通过编译器选项传递给编译器,以确保程序能够正确地调用POSIX标准中的函数和特性。
2025-11-06 11:31:57
382
原创 top命令
text210 total: 系统当前总共有 210 个进程。2 running: 其中有 2 个进程正在 CPU 上运行或处于可运行状态(在运行队列中等待CPU)。: 有 208 个进程处于睡眠状态。睡眠通常是进程在等待某个事件(如 I/O 操作完成、用户输入、定时器等)时的状态,不消耗 CPU。0 stopped: 没有进程被停止(例如,通过Ctrl+Z发送了 SIGSTOP 信号)。0 zombie: 没有僵尸进程。僵尸进程是已经终止但其退出状态尚未被父进程回收的进程。数量为 0 是健康的。
2025-10-30 10:34:27
799
原创 常用内核排查命令dmesg -T
参数用于将内核日志的时间戳转换为人类可读格式,结合其他选项可实现日志过滤、实时监控等功能。dmesg -T参数核心用法。dmesg命令基础用法。
2025-10-11 15:13:03
248
原创 windows环境vs+mingw+交叉编译链
1、配置mingw的bin路径。2、配置交叉编译的bin路径。4、写makefile编译。5、上传到服务器运行。
2025-09-18 11:59:47
202
原创 epoll系列函数
用于创建epoll实例,返回一个文件描述符作为后续操作的句柄。管理epoll实例监控的文件描述符(FD)。阻塞等待就绪事件,返回就绪FD数量。
2025-06-06 08:30:00
241
原创 centos查看开启关闭防火墙状态
执行:systemctl status firewalld ,即可查看防火墙状态防火墙的开启、关闭、禁用命令(1)设置开机启用防火墙:systemctl enable firewalld.service(2)设置开机禁用防火墙:systemctl disable firewalld.service(3)启动防火墙:systemctl start firewalld(4)关闭防火墙:systemctl stop firewalld(5)检查防火墙状态:systemctl status firewalld
2025-06-05 15:14:53
943
原创 io复用的水平触发和边缘触发
选择水平触发如果你需要频繁地检查同一文件描述符的状态,或者你的处理逻辑可以容忍多次轮询。选择边缘触发如果你希望最小化CPU使用率并希望系统在高负载下表现更优,或者你的处理逻辑需要精确控制每次状态变化的处理。在使用边缘触发时,务必确保你的应用程序能够正确处理所有待处理的数据,避免丢失事件。
2025-06-05 14:14:09
527
原创 cmake 指定安装路径
在中,你可以使用install()命令来指定具体的文件或目录应该被安装到哪个位置。这个命令会安装目标文件到指定的目录。例如,表示可执行文件将被安装到。通常推荐在运行cmake命令时通过来指定安装路径,或者在中设置默认的。这样可以确保安装路径的一致性和灵活性。使用install()命令来具体指定文件或目录的安装位置也是一个很好的实践。编译make安装make install。
2025-05-15 17:25:37
1500
原创 查看selinux开关
如果 SELinux 已启用,该命令将返回当前的模式(例如:Enforcing、Permissive 或 Disabled)。如果返回结果为 “Disabled”,则表示 SELinux 未启用。该命令将显示 SELinux 的详细状态信息,包括当前模式、配置文件、策略版本等。
2025-04-30 10:05:27
583
1
原创 tee命令
tee命令的作用就是读取标准输入内容,将读取到的数据写到标准输出和文件。应用场景一就是有时候我们希望操作命令既显示到屏幕又保存到文档,tee命令是我们的不二选择;当然tee命令还可以与其他命令结合使用,组合达到我们期待的效果。-a, --append 内容追加到给定的文件而非覆盖。-i, --ignore-interrupts 忽略中断信号。如果文件指定为"-",则将输入内容复制到标准输出。将标准输入复制到每个指定文件,并显示到标准输出。用法:tee [选项]... [文件]...
2025-04-28 17:19:11
614
原创 tree命令
该命令会显示当前目录及其子目录的树形结构,并包括所有隐藏文件和目录(以 . 开头的文件)。该命令将显示当前目录及其最多两层子目录的树形结构。此命令将显示当前目录及其所有子目录和文件的树形结构,默认只显示非隐藏文件和目录。此命令启用颜色显示,有助于区分不同类型的文件(如目录、普通文件、符号链接等)。此命令会排除所有以 .log 结尾的文件和目录,显示树形结构时不包括它们。该命令将显示指定路径 /path/to/directory 的树形结构。此命令将仅显示当前目录及其子目录的树形结构,而不显示文件。
2025-04-28 17:12:47
1084
原创 系统重装和网络配置记录
nmtui 激活网口。激活网口时网线要对应上激活的网口。4、进入桌面,把有“!”的设置一下,设置用户名密码等。2、进入系统,有时候grup引导参数过长,需要删除。
2025-04-25 15:49:39
176
原创 SM2签名传入公钥的作用
在SM2签名过程中,函数sm3_e传入公钥pubkey的核心目的在于,并确保签名过程与公钥绑定。该函数的作用是,作为后续签名运算的输入。
2025-04-25 07:00:00
835
原创 查看系统是debian还是redhat
运行或。检查或。通过包管理器命令(aptyum)快速判断。Debian和Red Hat(具体为CentOS)在默认文件系统、分区策略、软件包管理工具等方面存在一些区别。。
2025-04-24 16:15:13
1021
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅