title: Why can't we use C standard library functions in kernel development?
body: <p>I just got started with learning kernel development and had a small doubt. Why can't we use c functions in kernel development after linking it with the c library? Why is it that the kernel is never linked with a c library but has its own implementation of some standard c functions like <code>printk()</code> instead of <code>printf()</code>. IF the kernel is written in c and compiled with the help of a c compiler then why can't we use the standard function from the c library?</p>