Linux编码常出现的错误

1.printf("\n");缓冲区未清空的情况,没有加\n

2.使用gdb时需要加-g调试信息选项

3.有时候可能需要多多个文件流,后面的文件流如果不能打开的话就需要关闭前面的文件流,所以不能简单的用ERROR_CHECK

4.注意字符串的最后一个字符是'\0'

5.对于文件的初始化memset(str, '\0', sizeof(str));如果不初始化的话会导致输出乱码。

也可以bzero(*s, size);

6.对于fork()函数的理解其实一开始是错的,因为fork实际上并不是在一开始就只执行一遍,fork真的是复制进程,会将前面的进程全部都重新执行。

7.注意检错的时候对于线程进行检错的时候,是使用errono但是对于线程进行检测的时候时使用返回值因为使用errono进行检错的时候可能不能判断这个errno是哪一个线程的。所以在头文件中是需要额外的逻辑的,进程是ERROR_CHECK,线程是THREAD_ERROR_CHECK是自己在头文件中进行定义。

相关推荐
csdn_aspnet5 小时前
TCP/IP协议栈深度解析:从基石到前沿
服务器·网络·tcp/ip
lcreek5 小时前
Linux信号机制详解:阻塞信号集与未决信号集
linux·操作系统·系统编程
shandianchengzi5 小时前
【记录】Tailscale|部署 Tailscale 到 linux 主机或 Docker 上
linux·运维·docker·tailscale
John Song6 小时前
Linux机器怎么查看进程内存占用情况
linux·运维·chrome
sichuanwuyi6 小时前
Wydevops工具的价值分析
linux·微服务·架构·kubernetes·jenkins
持戒波罗蜜7 小时前
ubuntu20解决intel wifi 驱动问题
linux·驱动开发·嵌入式硬件·ubuntu
不做无法实现的梦~7 小时前
使用ros2来跑通mid360的驱动包
linux·嵌入式硬件·机器人·自动驾驶
梁辰兴7 小时前
计算机网络基础:虚拟专用网
服务器·网络·计算机网络·vpn·虚拟专用网·计算机网络基础·梁辰兴
点云SLAM7 小时前
C++内存泄漏检测之Windows 专用工具(CRT Debug、Dr.Memory)和Linux 专业工具(ASan 、heaptrack)
linux·c++·windows·asan·dr.memory·c++内存泄漏检测·c++内存管理
肉肉心很软7 小时前
使用onlyoffice实现文件预览编辑 + Docker一键部署流程
运维·docker·容器