如果我遗漏了什么,请纠正我。感谢您的意见。
代码中包含的标头:#include <linux/slab.h>
我的文件中要求使用“kmalloc()”进行内存分配的代码片段:
/*
* Initialize memory.
*/
char* fs_ptr;
fs_ptr = kmalloc((sizeof(char) * 20), GFP_USER);
if (!fs_ptr)
printf("Error allocating space in memory.\n");
}
编译错误:
$ make
gcc -g -Wall `pkg-config fuse --cflags` -c fs.c
fs.c:43:24: fatal error: linux/slab.h: No such file or directory
compilation terminated.
Ubuntu 版本信息:
$ uname -a
Linux ubuntu 3.8.0-33-generic #48~precise1-Ubuntu SMP Thu Oct 24 16:28:06 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
头文件的位置,通过‘locate’搜索:
$ locate slab.h
/usr/src/linux-headers-3.8.0-29/include/linux/slab.h
/usr/src/linux-headers-3.8.0-29-generic/include/linux/slab.h
/usr/src/linux-headers-3.8.0-31/include/linux/slab.h
/usr/src/linux-headers-3.8.0-31-generic/include/linux/slab.h
/usr/src/linux-headers-3.8.0-32/include/linux/slab.h
/usr/src/linux-headers-3.8.0-32-generic/include/linux/slab.h
/usr/src/linux-headers-3.8.0-33/include/linux/slab.h
/usr/src/linux-headers-3.8.0-33-generic/include/linux/slab.h