還是有些疑問, 想請教
以下是我的想法整理, 不知道對不對:
1.
在編kernel的時候, gcc是使用 /usr/src/linux/include/{asm,linux,...} 裡面的headers, 不會參考到
/usr/include/{asm,linux,...} 裡面的headers, 但如果是這樣gcc如何得知是這個目錄? kernel source code中在include 的部分都只有寫 #include <linux/header-file.h> 或是 <asm/header-file.h>, 預設不是指向 /usr/include/ 嗎? 那如果想自行編譯某個device driver的module(從廠商提供的driver source code編譯), 那header file又是參照哪裡的呢? (?)
2.
而 /usr/include/{linux,asm,...} 裡面的headers, 是在編譯其他ap的時候, 會被參考到. (?)
3.
若要在系統上開發程式, 需要安裝 libc6-dev, 而 debian 會因相依性自動安裝 linux-kernel-headers 到 /usr/include 裡, 以保持 headers 是當初編譯 glibc 時所使用的一致, 這樣編出來的ap才能運行無誤. 但是其他distro卻不一定會自動這麼做, 如Red Hat, SuSE?? (?)
問題有點多, 不好意思