Chinaunix首页 | 论坛 | 博客
  • 博客访问: 792486
  • 博文数量: 264
  • 博客积分: 592
  • 博客等级: 中士
  • 技术积分: 1574
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-24 22:02
文章分类

全部博文(264)

文章存档

2019年(2)

2018年(1)

2017年(1)

2016年(4)

2015年(14)

2014年(57)

2013年(88)

2012年(97)

分类: LINUX

2015-02-28 23:32:07

 

对于普通应用程序,可以通过包含头文件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

2。内核中可以引用stdlib.h和stdio.h吗?

阅读(2389) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~