C++ 在用户空间中使用内核函数

C++ 在用户空间中使用内核函数,c++,kernel,C++,Kernel,我目前正在尝试使用的功能 /usr/src/linux/crypto/aes_generic.c 在用户空间程序中 我想对分配的内存进行编码,并使用上述文件的ecnrypt函数 如何在用户空间程序中使用这些内核函数 我试图在我的用户空间程序中使用 -I /usr/src/linux/include/ 但是我得到了一个错误,asm/irqflags.h,文件或目录没有找到 这是你的建议 #include <asm-generic/irqflags.h> #包括 我没有一个a

我目前正在尝试使用的功能

/usr/src/linux/crypto/aes_generic.c 
在用户空间程序中 我想对分配的内存进行编码,并使用上述文件的ecnrypt函数

如何在用户空间程序中使用这些内核函数

我试图在我的用户空间程序中使用

-I /usr/src/linux/include/
但是我得到了一个错误,asm/irqflags.h,文件或目录没有找到

这是你的建议

#include <asm-generic/irqflags.h> 
#包括
我没有一个asm目录,另外两个带有上述错误的标题也被包含在asm通用目录中

提前感谢

允许您通过
/dev/crypto
从用户空间访问Linux内核加密驱动程序。可以找到示例,例如。优点是您可以从可能使用的硬件加速中获益

否则,您需要使用AES库的许多衍生工具中的一个来针对您的用户应用程序进行链接。请参阅以获取列表。

有。因此,您可以使用AF_ALG接口访问内核加密API(在Linux内核的2.6.38版本之后)


下面是一些源代码中的工作示例。

内核函数通常无法在不付出大量努力的情况下编译到用户空间程序中。通过将其源代码复制到项目中并根据需要进行调整,您可能会使任务变得更容易。