7
fcntl.h
dosyasını içeren bir c programı yazarım. Ben dosyayı arama ve aşağıdaki gibi sonuçlar elde: Ben programda #include <fcntl.h>
koymak aslında gcc aramaları /usr/include/asm-generic/fcntl.h
bulmaklinux'de neden birden fazla fcntl.h var?
[[email protected] csapp]$ find /usr/include/ -name "fcntl.h"
/usr/include/asm/fcntl.h
/usr/include/asm-generic/fcntl.h
/usr/include/linux/fcntl.h
/usr/include/sys/fcntl.h
/usr/include/bits/fcntl.h
/usr/include/fcntl.h
[[email protected] csapp]$ grep -rn "O_RDONLY" /usr/include/
/usr/include/asm-generic/fcntl.h:19:#define O_RDONLY 00000000
/usr/include/linux/cdrom.h:32: * - drive = open("/dev/cdrom", O_RDONLY);
/usr/include/linux/cdrom.h:33: * + drive = open("/dev/cdrom", O_RDONLY | O_NONBLOCK);
...
. Sadece gcc'in hangi "fcntl.h" çağrılmasının gerektiğini nasıl belirlediğini merak ediyorum. Herhangi bir çağrı emri veya önceliği var mı?
PATH ayarlarına veya gcc '-I' seçeneğine bağlıdır. – LPs
[Arama Yolu] 'na bir göz atın (https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html) – LPs
@LPs: Neden teknik olarak doğruysa, sadece birini/usr/de kapsayacak. –