在哪裡可以找到C語言標準庫的實現源代碼?
01-01
比如malloc(),memcpy()這樣的庫函數。
glibc --- http://www.gnu.org/software/libc/uClibc --- uClibc
甚至你可以看android的bionic。
http://www.gnu.org/software/libc/ 如果網頁嫌麻煩,可以先裝git,然後
git clone git://sourceware.org/git/glibc.git
cd glibc
git checkout --track -b glibc-2_11-branch origin/release/2.11/master
其實完全沒有必要全都看,無論你有沒有這個能力。因為由於歷史兼容等問題,C標準庫的代碼並不是很適合學習,裡面有些很雜亂。不過看過肯定比沒看好,畢竟都是牛人寫的。
推薦BSD系的libc
FreeBSD libc
NetBSD src/lib/libc/OpenBSD src/lib/libc/有本書叫C標準庫 (豆瓣)
贊同上面@張東亞 的回答
不過值得提醒的是,要想研究這些源代碼,恐怕需要具備一定的功力才行
如果基礎不夠就去深究,恐怕不是十分合適這個跟武俠小說中練習上乘武功是一個道理瞅瞅去,,無事,
贊同 @鬼道的答案,libc不適合作為入門,應該先看書。很多比較簡單地函數,如aoti,libc中的實現與你想像中的string-to-integer還是有很大差別的。
glibc,GNU的實現。
推薦閱讀:
※為什麼知乎用戶vczh不建議初學編程的人把C作為入門語言?
※C語言的取余運算 a%b,如果a<b,那取余a,2%3=2,25%26=25,這是為什麼,規定?
※開源代碼里某個函數很長,這種代碼能否認為是好的?
※64 位系統中 long double 的最大值是多少?
※有哪些適合學習的開源項目?