Linux内核中的atoi,itoa等函数
对于普通应用程序,可以通过包含头文件stdlib.h和stdio.h,string.h等,然后调用需要的itoa(),atoi()等函数,但是对于Linux内核来说,无法使用那些C库中的函数。对此Linux内核里有了相应的实现:对于atoi()用simple_strtol() ,simple_strtoul()等函数替代;对于itoa(),用snprintf()。其他相关函数,自己
对于普通应用程序,可以通过包含头文件stdlib.h和stdio.h,string.h等,然后调用需要的itoa(),atoi()等函数,
但是对于Linux内核来说,无法使用那些C库中的函数。
对此Linux内核里有了相应的实现:
对于atoi()用simple_strtol() ,simple_strtoul()等函数替代;
对于itoa(),用snprintf()。
其他相关函数,自己去看/lib/vsprintf.c。
比如:
simple_strtoul,simple_strtol,simple_strtoull,strict_strtoul,strict_strtol,strict_strtoull,strict_strtoll,vsnprintf,vscnprintf
另外,对于常见的字符相关处理函数,都在/lib/string.c中:
strnicmp,strcasecmp,strncasecmp,strcpy,strncpy,strlcpy,strcat,strncat,strlcat,strcmp,strncmp,strchr,strrchr,strnchr,strstrip,strlen,strnlen,strspn,strcspn,strpbrk,strsep,sysfs_streq
以及内存相关操作函数:
memset,memcpy,memmove,memcmp,memscan,strstr,memchr
【引用】
1。Re: Itoa and atoi functions in kernel space
http://mail.nl.linux.org/kernelnewbies/2005-07/msg00417.html
2。内核中可以引用stdlib.h和stdio.h吗?
更多推荐
所有评论(0)