C语言库连接的有关问题

请教大家C语言库连接的问题
对于C语言的库连接不是很懂。
比如对于标准库
为什么我#include <stdio.h> 就能调用printf之类的函数呢?
我使用的是mingw gcc,为什么在里面就找不到printf相关的二进制码呢?
在我的概念里,是需要有stdio.h对应的二进制码才能调用的,不是吗?
如果是的话,那标准库的二进制码在哪儿呀?
求朋友指点迷津。
谢谢。
------解决方案--------------------
GCC 的C标准库是 libc.so,math.h对应的在 libm.so

MSVC的C标准库是 MSVCRT.dll MSVCR20.dll/MSVCR71.dll/...

MinGW 使用 MSVCRT.dll