![Почему /bin/true имеет размер 27168 байт?](https://rvso.com/image/97230/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83%20%2Fbin%2Ftrue%20%D0%B8%D0%BC%D0%B5%D0%B5%D1%82%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%2027168%20%D0%B1%D0%B0%D0%B9%D1%82%3F%20.png)
ls -l /bin/true
показывает, что его размер составляет 27168 байт, тогда как программа на языке ac, которая просто возвращает 0,значительно меньше. Также, запуск objdump -d /bin/true
дает огромную ассемблерную программу со множеством системных вызовов. Зачем все это нужно для программы, которая просто "ничего не делает успешно"?
решение1
Потому что помимо возврата 0 он также обрабатываетпомощьиверсияпараметры, плюс внутри содержатся некоторые комментарии.
Вы можете разобраться в этом самостоятельно, клонировав исходники изГитхаб, и глядя на содержаниеcoreutils/src/true.c.