我在查找usleep()
的定義。usleep的定義C
我在/usr/include/unistd.h
找到了聲明。但也有它的聲明爲
extern int usleep (__useconds_t __useconds);
在哪裏可以找到函數的定義?
(請註明如有的方式是有比其他的grep,這樣對於其他的庫函數還我可以按照。)
我了Fedora 21使用gcc 4.8.3版本與Linux內核4.1
我在查找usleep()
的定義。usleep的定義C
我在/usr/include/unistd.h
找到了聲明。但也有它的聲明爲
extern int usleep (__useconds_t __useconds);
在哪裏可以找到函數的定義?
(請註明如有的方式是有比其他的grep,這樣對於其他的庫函數還我可以按照。)
我了Fedora 21使用gcc 4.8.3版本與Linux內核4.1
由於對於大多數庫函數,您將發現沒有定義,因爲它已經在編譯器自動鏈接到對象模塊的標準庫中進行了編譯。您可以在您的Linux發行版以及glibc網站提供的源代碼包中找到libc的完整源代碼(但請記住,某些發行版會添加它們的修補程序)。
至於usleep
,你可能不會發現什麼有趣的,it's just a wrapper around nanosleep
,這又僅僅是一個系統調用(所以你只要找到某個寄存器設置後跟一個sysenter
指令 - 多汁的事情發生在內核模式下) 。 編輯實際上,因爲nanosleep
是一個可取消的系統調用,它有點複雜,但點代表
你是什麼意思的「定義」? –
如果你正在尋找一個實現http://osxr.org/glibc/source/sysdeps/unix/sysv/linux/usleep.c?v=glibc-2.14 –
@DavidSchwartz函數/宏'usleep的定義「我想,這包含着身體。 – RatDon