НАСТРОЙКИ: glibc2.3.4
ЭКСПЕРИМЕНТ
Во-первых, нм на glibc/bld/close.{o,os}
показывает, что только close.o
имеет определенную syscall_error
. Затем напишите простую программу, чтобы определить, используется ли syscall_error
в close()
.
#include <unistd.h>
#include <stdio.h>
int main() {
return close(fileno(stdin));
}
gcc -o s.out -static -g a.c
gcc -o d.out -g a.c
РЕЗУЛЬТАТ
gdb
показывает, что только close()
в s.out
использовании делают из syscall_error
. Таким образом, файл .o предназначен для static library
, а .os - для dynamic library
.
'.os'? или '.so'? – twalberg