今天遇到一个错误找了好长时间。
原来是在函数中静态分配的内存太大!
如:
int my_fun(void)
{
char aa[1024];
/* insert your code here! */
}
原来自己也知道这样做不好,在用户态这样使用大的内存系统会自动在堆上面分配的,但在内核态就会直接报错的,有时候让你错的自己都不知道是什么地方错了。
当然我也试个在核心下有时候也不会出错,但最好还是不要这样使用,一旦分配的内存太大时就使用malloc, kmalloc, vmalloc吧!!
千万别忘了!!!
阅读(3282) | 评论(0) | 转发(0) |