Когда мы отлаживаем программу с использованием gdb, мы обычно видим функции со странными именами, определенными в libc (glibc?). Мои вопросы:
- Является ли
libc/glibcстандартной реализацией некоторых стандартных функций C/C++, таких какstrcpy,strlen,malloc? - Или это не только первое использование, как описано выше, но и оболочка системных вызовов Unix/Linux, таких как
open,close,fctl? Если так, почему мы не можем выпускать системные вызовы напрямую, безlibc? - Содержит ли
libcтолько один файл lib (.aили.so) или множество файлов lib (в данном случаеlibc- это общее название этого набораlibc)? Где находятся эти файлы lib? - В чем разница между
libcиglibc?