- 博客(5)
- 收藏
- 关注
原创 Linux 下如何查看程序依赖的动态库?从 ldd 到 readelf 实战
本文系统介绍了Linux环境下动态库“找不到”问题的排查方法,涵盖file、ldd、readelf等工具的使用,重点分析ELF格式、依赖关系与搜索路径。针对ARM64交叉编译场景,强调架构匹配、动态链接器一致性及目标环境验证的重要性。提出一套标准化排查流程:确认文件类型→检查依赖声明→定位库文件→验证搜索路径→测试运行,有效避免盲目修改LD_LIBRARY_PATH,提升开发效率与问题定位准确性。
2026-10-20 14:11:33
601
原创 C 语言常见段错误(Segmentation Fault)排查实战:从复现到定位
记录完整错误信息、运行参数和输入数据。使用-g -O0编译可复现程序。使用 GDB 的bt找到异常调用路径。确认指针是否为空、是否已释放、是否超出对象范围。特别关注数组下标、malloc()大小、read()返回值和字符串终止符。尝试 AddressSanitizer 或其他内存检查工具。不仅验证原来的崩溃消失,还要检查边界条件和异常路径。对于 Linux C 语言测试程序,还应重点检查文件操作返回值、动态缓冲区长度、循环终止条件以及错误路径中的资源释放逻辑。
2026-10-19 10:00:00
48
原创 Linux C语言实现硬盘读写性能测试:完整代码与速度计算
本文基于Linux系统,使用C语言实现了一个文件读写性能测试程序,通过write()、read()、fsync()和CLOCK_MONOTONIC等接口,实现对存储设备的顺序读写速度测试。程序支持自定义文件大小与块大小,具备数据完整性校验、时间精确计时及结果统计功能。测试结果受操作系统缓存、同步策略等因素影响,读取速度可能因页缓存而偏高,写入速度包含数据持久化等待时间。建议通过多轮测试、不同块大小、直接I/O等方式提升准确性,适用于嵌入式系统与存储设备验证。
2026-10-16 12:15:00
339
原创 Linux C语言文件读写测试:实际写入大小和读取大小不一致的原因与解决方法
在 Linux 系统开发及嵌入式平台测试中,文件读写测试是验证文件系统基本功能和数据完整性的重要手段。针对文件实际写入大小与读取大小不一致的问题,本文分析了 fwrite() 和 fread() 返回值处理不当、读写循环边界错误、文件缓冲机制及文件关闭异常等常见原因,并使用 C 语言实现文件读写测试程序。通过统计实际读写字节数、检查文件大小、校验数据内容及测量读写耗时,实现对文件读写功能和数据完整性的基础验证,为 Linux 文件系统测试与嵌入式存储测试提供参考。
2026-10-15 15:30:00
535
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅