在一个linux工程中,我用到了:
isalpha(),isupper(),isdigit()这几个函数,因此,我需要包含:ctype.h,于是:
#include <linux/ctype.h> //must link $(LINUX_SRC)/linux-2.6.14-fa/lib/lib.a
但链接$(LINUX_SRC)/linux-2.6.14-fa/lib/lib.a后总是显示错误。
经过分析,原因在于$(LINUX_SRC)/linux-2.6.14-fa/lib/lib.a是linux内核的库,而我的工程是一个application,不能用kernel的lib。linux kernel有一套自己的lib,这是linux编程的特点,它区分了kernel space和user space。application属于user space,不能用内核空间的函数。
我加上linux工具链的include目录下面的ctype.h即可通过。