В настоящее время я углубляю свои знания о системах Linux, переопределяя некоторые основные утилиты. Прямо сейчас я работаю над основной версией NM, которая перечисляет символы из объектных файлов (страница MAN). Это требует чтения и анализа файлов ELF. Должен ли я:
использовать семейство функций Open/fopen вместе с чтением/Fread, чтобы загрузить куски файла по мере необходимости? Из того, что я понимаю, MMAP может уменьшить количество системных вызовов и может предложить более чистый доступ для структурированных форматов файлов, таких как ELF. Но он также отображает весь файл в память, что может быть недостатком, если двоичный файл велик. Я хотел бы услышать понимание людей, которые внедрили анализаторы файлов, системные инструменты или работали в тесном сотрудничестве с внутренними эльфами.
Подробнее здесь: https://stackoverflow.com/questions/796 ... plementing
Мобильная версия