工作之踩坑记录

1.i386架构之atol函数使用导致的业务程序错误:

情景:将框架传递的链接地址采用整形保存传输,在i386架构上导致地址比较大,采用atol转型可能导致数据被截断出现异常。

方案:采用atoll更大的数据类型进行处理即可避免该问题。

2.Json库使用注意long int问题导致编译不通过问题:

情景:

cpp 复制代码
Json::Value result;

long int pid = 10001;
result["pid"] = pid;

如上编译会报错:

cpp 复制代码
error: convert from 'long int' to 'const Json::Value' is ambiguous

方案:采用跟Json库携带定义的想通过的类型进行使用:

cpp 复制代码
Json::Value result;

long int pid = 10001;
Json::UInt upid = pid;
result["pid"] = upid;  // 规避出现如上问题,采用同等的类型

3.Centos7.2- opendir函数打开普通文件发现ptr->d_type 类型不等于8,反而等于0问题

方案:如果遇到该种情况,请使用stat方法判别文件类型,stat结构中定义了文件的相关节点类型值,在结合具体业务判别即可。

例如:

复制代码
DT_REG == ptr->d_type
// 正常情况,文件类型 ptr->d_type == 8,
在dirent.h文件中定义.
centos7.2系统,ptr->d_type == 0,导致无法读取文件信息。可采用stat结构进行统计:
{
    struct stat statbuf;
    lstat(tmpPathfile, &statbuf);
    if( S_ISREG(statbuf.st_mode))  // file
    {
        //to do
    }
}
相关推荐
吴爃3 小时前
Spring Boot 项目在 K8S 中的打包、部署与运维发布实践
运维·spring boot·kubernetes
Elastic 中国社区官方博客4 小时前
在 Elastic 中使用 MCP 自动化用户旅程以进行合成监控
大数据·运维·人工智能·elasticsearch·搜索引擎·自动化·可用性测试
长安链开源社区4 小时前
学者观察 | 基于区块链的隐私计算技术——北京理工大学教授祝烈煌
运维·区块链
萧行之4 小时前
Docker部署Loki+Grafana+Vector实现全服务器日志监控(含N8N/SSH/Fail2ban监控)
服务器·docker·grafana
learning-striving4 小时前
Ubuntu26.04下载安装教程
运维·服务器·vmware·虚拟机
码上行动 664 小时前
用U盘制作系统盘以及如何装系统
运维
invicinble4 小时前
关于搭建运维监控系统(Prometheus+Grafana)
运维·grafana·prometheus
__beginner__4 小时前
CentOS 磁盘占用异常排查与处理手册(df 高、du/ncdu 低)
linux·运维·centos
2501_927283584 小时前
荣联汇智立体仓库:为智慧工厂搭建高效“骨骼”与“中枢”
大数据·运维·人工智能·重构·自动化·制造
坚持就完事了5 小时前
YARN资源管理器
大数据·linux·hadoop·学习