Почему обычные компиляторы C включают исходное имя файла в вывод?
Я учился уэтот недавний ответ тотgcc
а такжеclang
включите имя файла источника в двоичный файл в качестве метаданных, даже если отладка не включена.
Я не могу понять, почему это должно быть хорошей идеей. Помимо крошечных рисков конфиденциальности, это происходит также, когда каждый оптимизирует для размера получаемого двоичного файла (-Os
), что выглядит неэффективно.
Почему компиляторы включают эту информацию?