我正在编写内核模块,并且已经开始研究套接字。我已经能够包含其他linux标头,使用它们的功能,并且makefile会很好。当包含linux / socket.h时,编译器可以找到该文件,但是如果我调用socket()
或connect()
之类的文件,则表示它们是隐式声明的。我将如何解决这个问题?
我已经用cat来检查文件,以确保它是正确的。我已经尝试过硬编码位置
/usr/src/linux-headers-4.18.0-17-generic/linux/socket.h
我也尝试过使用linux-headers-4.18.0-17的socket.h,但这也不起作用。
错误之一: 错误:函数“套接字”的隐式声明;你是说“得到”吗? [-Werror =隐式函数-声明]
答案 0 :(得分:1)
因为它不是npm install -g pnpm
,所以它是socket()
,并且您还需要包含系统调用的头文件。那只包含结构和常量。函数本身的头文件是sys_socket()
。