03 2023 档案

摘要:需求 Linux程序中,常有这样的需求:判断当前程序是否为root权限启动。如果是,正常运行;如果不是,则打印日志,退出程序。 root用户特点 要判断是否为root权限启动,可以先看看root用户特点。root用户典型特点:UID(用户id)为0,GID(组id)为0。 每个用户有对应唯一UID值 阅读全文
posted @ 2023-03-30 09:24 明明1109 阅读(1144) 评论(0) 推荐(0) 编辑
摘要:引出问题 在基于消息包的通信协议中,通常会通过一个id或命令名来标识该消息包,程序需要根据不同的标识进行不同的解析策略,提取出想要的内容。例如,一个典型的FTP请求命令是这样的: USER anonymous\r\n 其中,"USER"是请求命令名,"anonymous"是该命令跟着的参数,"\r\ 阅读全文
posted @ 2023-03-29 21:11 明明1109 阅读(228) 评论(0) 推荐(0) 编辑
摘要:字面量 字面量是指源码中,固定的常量。比如, const char* p = "abcd"; const std::string s = "efg"; const int v = 10; const double d = 20.1; const unsigned long l = 123465789 阅读全文
posted @ 2023-03-25 17:25 明明1109 阅读(482) 评论(0) 推荐(0) 编辑
摘要:内存池意义 内存的分配与释放会向系统进行申请,陷入内核,而频繁的内存分配、释放会降低应用程序性能。应用程序通常以特定方式使用内存,因此,能通过开发专门的内存管理器来解决这种情况。内存管理器,通常也称为内存池。 内存管理器需要考虑两方面:大小、并发。 大小 1)固定大小:分配单一固定大小内存块对内存管 阅读全文
posted @ 2023-03-23 19:51 明明1109 阅读(514) 评论(0) 推荐(1) 编辑
摘要:获取磁盘信息方式 Linux中,可以在终端用df -h,fdisk -l等命令,查看磁盘信息,但C/C++程序中,如何查看呢? 可以使用statvfs, fstatvfs调用。 statvfs, fstatvfs 函数说明 有2个接口能获取磁盘信息方式,statvfs需要传入一个C风格Posix路径 阅读全文
posted @ 2023-03-13 19:43 明明1109 阅读(3639) 评论(0) 推荐(0) 编辑