Tags

1 个页面

计算机体系结构

内存布局和二进制兼容性

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

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

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

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