gcc是否可能以不同方式对结果二进制进行排序?

时间:2012-05-09 02:06:20

标签: gcc

命令gcc -c a.c b.c c.c产生的二进制文件与源文件在命令行上的排序方式不同。出于安全考虑,我希望每次构建文件时都要更改二进制排序。 gcc是否有内置选项来执行此操作?还是比手动重新排序源文件更好的方法?

1 个答案:

答案 0 :(得分:1)

如果您不介意概率不同,那么您可以编写一个小的shell脚本来随机化输入:

gcc -c $(ls *.c | sort --random-sort) -lwhatever

当然,解析ls(1)输出通常很危险,但由于这些是您的源文件,因此请在您的名字中显示一些自由裁量权并避免换行。

当然,缺点是多次运行可能导致相同的随机顺序。这就是生活。