1

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

4

1 回答 1

1

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

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

当然,解析ls(1)输出通常是危险的,但由于这些是您的源文件,请在名称中表现出一点谨慎并避免换行。

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

于 2012-05-09T02:18:35.043 回答