Tags

12 个页面

c++

跨机器计算时间差

组内现有通讯协议使用 steady_clock 作为时间戳,计算单个节点的耗时,某个特殊场景,用到了消息包自带的时间戳,自带的时间戳来自于其他机器,导致计算出来的耗时异常。

题话外:Gemini2.5 Pro 有希望彻底超越 GPT-4

内存布局和二进制兼容性

C++ Linux 服务发生崩溃。服务依赖于某个静态库进行编译。

静态库执行了修改,头文件增加了成员变量,重新发布了静态的二进制库文件

服务依赖新的二进制库文件,能正常编译,运行就会崩溃,崩溃的地方明显没问题,有点类似上次编译器升级的崩溃,未定义行为,崩溃的堆栈不可信。 更新服务编译时依赖的头文件,能正常变异,运行也都正常

详细解释这是为什么,涉及到什么计算机的知识,我猜测和内存布局相关,举例进行详细说明。

linux后端服务处理大量字符串数据-效率很慢

在C++开发的历史项目中,我们使用自定义协议进行通信,协议采用了二维数组的模式。在处理大量数据时,协议内部需要遍历数组并进行序列化操作以生成日志,由于效率较低,导致了系统在高负载下出现明显的卡顿,业务部门反馈系统卡顿。

C++中lambd表达式参数生命周期

在C++中,lambda表达式是一种方便的匿名函数,可以捕获外部变量并在其体内使用。这使得lambda成为一种灵活的编程工具。不过,lambda表达式的参数生命周期是一个需要特别关注的方面,尤其是在捕获和传递参数时

升级GCC版本导致程序崩溃:代码不规范的隐患

在同一段业务代码的情况下,程序在 CentOS 7 环境下编译并运行正常,但当切换到 CentOS 8 并使用更新版的 GCC 进行编译时,程序却发生了崩溃。值得注意的是,问题只在 Release 模式下出现,Debug 模式则完全没有问题。这是我们第一次遇到类似的情况,经过三天的排查,最终找到了问题的根源。