- 博客(32)
- 收藏
- 关注
原创 C字符串处理:安全与危险函数对比(strcat、strncpy等)
/ C 标准库原型:char * strncpy(char *dest, const char *src, size_t n);strncpy 从源字符复制到目的缓冲区,最多拷贝n个字符,不会超过你指定的长度。n代表能拷贝的最多个字符。可能不加\0。strncpy:参数是src\0src\0dest\0。
2025-10-30 14:50:07
913
原创 案例:利用boost::asio::io_context监控Sensor温度
是 Boost.Asio 的事件循环引擎。以后所有异步事件(包括 D-Bus 消息)都会挂到它上面。假设我们写一个“小程序”,它要监控某个传感器的温度变化,并在温度超过阈值时打印告警。假设温度值变化的时候,D-Bus 会发出一个。去不断监听,而不是同步阻塞。
2025-10-23 10:40:08
299
原创 Win10上VScode 进行ssh登录服务器
如果没有公钥,win10上执行:ssh-keygen,就会在自己用户.ssh文件夹下生成一对密钥。
2025-09-17 11:03:29
218
原创 git rebase、备份分支 (Git操作)
git rebase 进行drop时,很容易丢失文件。即使git reflog也很难找到commit id。git branch和git checkout -b 的区别。备份完成后,在当前开发分支上进行drop操作。所有都操作完成后,可以把原来的备份分支删除。如果想恢复,可以用cherry-pick。
2025-09-09 11:21:28
158
原创 上网报错:端口占用
netsh int ipv4 add excludedportrange protocol=tcp startport=10808 numberofports=1 //目的是确保某些端口不被 Hyper-V 或 WSL 占用,这里我的端口是10808,所以我的startport就=10808,各位在输入命令时改成自己的端口就行了。解决办法很简单,首先查看你的端口名,例如我的是10808,关闭v2软件,接着用管理员身份打开cmd,输入以下。net start winnat //重新打开winnat。
2025-08-30 23:25:59
355
原创 编写一个最简单的Dbus流程
include <sdbusplus/asio/connection.hpp> // sdbusplus的asio连接封装。#include <sdbusplus/asio/object_server.hpp> // D-Bus对象服务器。#include <boost/asio.hpp> // Boost.Asio库,用于异步I/O操作。// /com/bytedance/pcieswitch_monitor是我们自定义的对象路径。// 它是事件循环的基础,将处理D-Bus消息和定时器等事件。
2025-08-25 16:33:19
827
原创 OpenBMC上创建一个新的dbus接口-举例
通过一个例子,注册一个新的dbus接口,并向接口内写值。// 注册动态属性值,向dbus上写值。// 创建统一接口对象。// 请求统一服务名称。
2025-08-07 16:43:49
351
原创 回调函数和协程使用对比-举例
/ 传统异步方式(回调嵌套)// 步骤1:获取传感器配置路径// 步骤2:对每个路径获取属性// 步骤3:创建传感器// 完成});});});
2025-08-03 21:06:33
714
原创 Linux根据关键词查找对应Service
1)利用systemctl,在file中搜索:systemctl等价于方法2)2)利用ls在目录中进行查找:输出:com.intel.AtScaleDebug.service。
2025-06-25 17:01:57
441
原创 EndNote X9 参考文献无法识别期刊名,显示为 %J
如果插入的文献,文末自动生成的文献格式中,含有%J,说明 这个EndNote X9无法自动识别%J 格式。等格式的文献数据库导入,可以看到导入的参考文献就可以正常显示期刊名称了,且作者列表中也不会再出现期刊名称了。重新导入enw文件之前,首先下载最新的过滤器文件,名字为EndNote import.enf。其中enw文件是每个参考文献在的EndNote格式中文件。没法在已经导入文献的基础上,进行修改。文件复制到这一文件夹下,并替换原有的文件即可。软件的安装路径,并找到其中的。2、重新导入enw文件。
2025-06-22 20:11:05
692
原创 linux0.11版本里,0x10000到0x00000之间,差多少字节
在 Linux 0.11 版本里,地址范围从 0x10000 到 0x0000,计算两者之间的字节数时,需要注意地址的顺序和含义。
2025-06-08 12:37:50
236
原创 为啥报文头图片一般显示从高位到低位(例如从31位到0位)
报文头的位分配方式通常是从高位(31位)逐步到低位(0位),这是大端(Big Endian)字节序的。这种模式在许多网络协议(如TCP/IP)中被广泛使用,因为这是人类阅读习惯的体现。这种存储方式使得数据的高位部分先于低位部分被访问。而内存的地址始终都是从低位到高位的。
2025-06-08 11:29:06
238
原创 tar.gz 文件解压后造成的git结果差异
在linux上压缩的tar.gz文件,移到win10上时,一定要用命令行tar -zxvf进行解压。如果利用win10自带的zip解压,会造成文件丢失。指向的对象路径不存在时,Git 无法还原 HEAD(最后一次提交)中的文件内容,所以它把所有看起来不同的文件当作“modified”对待。,它依赖的对象库已经丢失,Git 无法正确解析原始文件状态,导致你看到的。如果使用的是 Linux 内核代码,这类工程大量使用符号链接,你当前的 Git 仓库报告了大量的。
2025-06-07 01:03:46
364
原创 Vscode 配置Python虚拟环境(图文)
2)在vscode的终端里的右下角中,默认是power shell,在power shell中不会自动激活,pycharm和vscode都会自动选择虚拟环境,也可以手动选择,如下图,但可能未激活。1)在vscode的终端里的右下角中,选择git bash,会自动进入虚拟环境;可以自动加载虚拟环境,但是命令行不显示(.venv),但pip -V是正常的。重启终端后,VS Code 会自动尝试激活当前选择的虚拟环境。命令行显示(.venv),pip -V也正常的。:参数表示显示版本信息(注意 V 是大写)。
2025-06-05 13:57:16
5840
原创 Vscode 全局搜索快捷键 ctrl+shift+f 失效
win10中微软自带的输入法,占据了 ctrl+shift+f 快捷键,导致Vscode快捷键失效。
2025-05-17 23:05:08
871
原创 vscode搜索文件名
在vscode 中搜索.config 文件,如果在vscode中的.gitignore中定义了.*,那Ctrl p时,就会自动排除掉.config文件。如果想关闭vscode自动排除.gitignore文件。可以设置:在 VSCode 设置()中添加以下配置:(当前验证了一下,没有生效,不知为何,20250309版本)1)在.gitignore中定义了“.*”,就代表把所有的点文件排除掉;vscode会默认引用.gitignore中的设置。2)ctrl p时,
2025-03-09 22:33:43
1717
原创 win10上vscode 利用ssh 对远程linux进行免密操作
找到远程服务器的 ~/.ssh/authorized_keys 文件中,找到“.ssh”文件下的“authorized_keys”并打开,将刚才生成的公钥pub文件复制的口令粘贴过来保存到这个文件里即可。touch ./.ssh/authorized_keys # 创建文件(若不存在)chmod 600 ./.ssh/authorized_keys # 设置文件权限。终端,输入ssh可以看到我们的计算机已经存在ssh了,然后输入“mkdir -p ./.ssh # 创建目录(若不存在)
2025-03-09 20:35:20
275
原创 u-boot通过 #include <common.h> 间接包含 autoconf.h 的实现机制
是 U-Boot 的通用头文件,几乎被所有源码文件包含。的实现机制涉及多个层级配置文件的协作和预处理过程。某些架构的代码会通过层级包含最终引入。由 Kconfig 系统生成,位于。这些宏会在预处理阶段被添加到代码中。会递归处理所有包含的头文件,包括。顶层 Makefile 显式包含。在 U-Boot 中,通过。由编译系统自动生成,位于。编译系统通过以下步骤生成。这使得代码中的条件编译(如。)能够正确响应配置。
2025-03-09 00:27:22
485
原创 vscode 正常颜色和灰色显示(编译宏引发的颜色差异)
上面即使CONFIG_EFI_LOADER没有被定义,这个也是正常显示的。2)宏定义,它如果在一般都是默认不成立的,因此是灰色显示。1)if后面的语句都是默认成立的,所以是正常颜色。
2025-03-09 00:20:11
888
原创 VSCode排除全局搜索时的文件夹
用vscode开发代码时,利用全局进行搜索时,搜索结果中经常会出现一些不相关的文件夹,导致搜索结果过多,影响查看结果。我们可以通过设置排除一部分不相关文件夹,从而达到精简结果的目的。举例代码:openbmc中的u-boot代码。打开vscode的命令面板,然后输入。开发芯片类型:aspeed2600芯片。在 VSCode 中,你可以通过设置。重启vscode,才会生效。在 .vscode/
2025-03-06 22:09:14
2526
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅