1

当我在 AIX 上使用 xlC 编译器两次编译一个简单的 test.cpp 文件时:

xlC_r test.cpp -o test1
xlC_r test.cpp -o test2

那么 test1 和 test2 是不同的!他们有不同的 md5sum。

但是当我在 linux 上做同样的事情时(当然是用 g++ 而不是 xlc),那么 test1 和 test2 是一样的......

任何人都可以告诉我为什么在 AIX 中会发生这种奇怪的行为?

谢谢

4

2 回答 2

2

是的,编译器在它创建的每个目标文件中都存储了一个时间戳。从编译器 12.1 版开始,可以在编译时指定选项 -qnotimestamps 以禁止存储时间戳。

于 2013-12-31T23:29:30.973 回答
0

也许它在编译的程序中包含一个时间戳。您可以通过保存每个程序的八进制或十进制转储并比较结果来尝试找出它们的不同之处。许多 UNIX 变体提供了您可以使用的oddiff程序,但我不知道它们在 AIX 下是否可用。

于 2013-12-31T14:56:51.693 回答