c++ - 两个具有相同代码的共享对象(.so)文件的一致性如何

标签 c++ c dll shared-libraries

在两次构建之间生成.so 文件时是否有任何一致性?我们什么时候执行清理和构建?

基本上,我想要一个应用程序的 .so 文件,用于以前的代码状态 (C++),更改的文件很少,我恢复了,如果我现在构建,那么 so 文件是否与那个相同我之前有吗?

我可以将代码状态完全复制到它之前的状态,我需要它来将堆栈跟踪映射到使用此文件的代码,因为我们可以将十六进制值映射到函数名称。

谢谢

最佳答案

假设您使用相同的构建选项从相同的源代码构建,您的输出结果应该是相同的(代码中嵌入的一些时间戳可能除外)。任何编译器/内核/库升级都可能破坏此保证。

正是版本控制(尤其是标记快照)的用途。

关于c++ - 两个具有相同代码的共享对象(.so)文件的一致性如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19042607/

相关文章:

c++ - C++ 中的有序多线程输出

c - 在链表末尾插入

c# - 如何使用 C# 4.0 编译器让 MonoDevelop 以 .NET 2.0 框架为目标?

qt - 从qt项目中引用dll文件

c++ - 在通用编程/TMP 世界中,模型/策略和 "concept"究竟是什么?

c++ - 哈希表段错误

c - 反转字符串时长度增加

c - 如何检查字符串日期是否已经过了某个日期

c# - 从 .NET4.0 编译 .NET2.0 DLL

c++ - 在头文件中包含一个巨大的 Vector