若问关于C语言编译问题,感谢
感觉对C语言编译方面不是很理解:
在做嵌入式linux驱动开发时,例如:我需要调用kmalloc kmalloc是在mm/slab.c下的。 而我的驱动程序里只包含了slab.h,没有包含slab.c 在makefile里也没有指定要编译slab.o
请问:
我编译我的程序时,应该是没有编译slab.o 编译完的程序在运行时,是如何知道和调用kmalloc的呢?
这采用的是动态编译吗? 编译器编译我的程序时,发现要用到kmalloc, 他就将slab.c编译成slab.o并且与我的程序test.o连接成最后我要得到的程序吗
麻烦行家为我解释下,感激不尽。 |