如果我构建相同的源代码,链接到相同版本的相同库,使用相同的工具链(相同的编译器,链接器等,GCC 4.4),使用相同版本的相同操作系统,(我的 Centos 5 Linux案例)但在两台不同的机器上;
假设生成的二进制文件应该是相同的是否合理?
这背后的背景是我的代码具有“未定义的行为”,它在一种配置上“有效”,但在另一种配置上无效,显而易见的答案是解决这个问题,但我很想知道我的假设是否生成的二进制文件应该是相同的正确的。
我注意到几百字节的大小差异,使用“nm”命令显示的符号位置略有不同,即使符号相同。