0

我制作了一个小型库,它将检测我何时为用户空间和何时为内核空间构建并定义正确的malloc/ kmalloc| free/kfree方法。

例子:

#ifdef __KERNEL__
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#else
#include <stdlib.h>
#include <stdio.h>
#endif

void *new(size_t sz){
#ifdef __KERNEL__
    return kmalloc(sz, GFP_KERNEL);
#else
    return malloc(sz);
#endif
}

这很好用。或者它#include <linux/netlink.h>曾经__KERNEL__... _kmallocmalloc

有什么方法可以可靠地检测我何时为内核态构建以及何时为用户态构建?如何?

4

0 回答 0