命令gcc -c a.c b.c c.c
产生的二进制文件与源文件在命令行上的排序方式不同。出于安全考虑,我希望每次构建文件时都要更改二进制排序。 gcc是否有内置选项来执行此操作?还是比手动重新排序源文件更好的方法?
答案 0 :(得分:1)
如果您不介意概率不同,那么您可以编写一个小的shell脚本来随机化输入:
gcc -c $(ls *.c | sort --random-sort) -lwhatever
当然,解析ls(1)
输出通常很危险,但由于这些是您的源文件,因此请在您的名字中显示一些自由裁量权并避免换行。
当然,缺点是多次运行可能导致相同的随机顺序。这就是生活。