Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用libnl nl_sock? #包括 #包括 结构nl_sock*sock; sock=nl_socket_alloc();_C++_Linux_Netlink - Fatal编程技术网

C++ 如何使用libnl nl_sock? #包括 #包括 结构nl_sock*sock; sock=nl_socket_alloc();

C++ 如何使用libnl nl_sock? #包括 #包括 结构nl_sock*sock; sock=nl_socket_alloc();,c++,linux,netlink,C++,Linux,Netlink,上述代码始终无法编译,并出现以下错误: /home/micah/Documents/C++/Socket_-fun/Socket_-fun/src/main.cpp|5 |错误:“sock”未命名类型 我从libnl示例中得到了这一点,由于它不起作用,我想知道,做这件事的正确方法是什么?代码必须在函数中,您不能在函数的上下文之外开始调用函数: #include <netlink/socket.h> #include <netlink/netlink.h> struct n

上述代码始终无法编译,并出现以下错误: /home/micah/Documents/C++/Socket_-fun/Socket_-fun/src/main.cpp|5 |错误:“sock”未命名类型


我从libnl示例中得到了这一点,由于它不起作用,我想知道,做这件事的正确方法是什么?

代码必须在函数中,您不能在函数的上下文之外开始调用函数:

#include <netlink/socket.h>
#include <netlink/netlink.h>
struct nl_sock *sock;

sock = nl_socket_alloc();

还有,你用什么来编译?我建议把它编译成C++,而不是C++。谢谢你的快速回答。至于C,它必须是C++,它是C++项目的一部分。我建议LBMNL作为一种选择,它在NETLink的学习阶段尤其简单。我可以这样做,但是既然我正尝试使用iNETSIDAG模块,我就切换到了旧的SoCK()方法,这样我就可以从SS网络实用工具中复制、粘贴和调整。
int main()
{
    struct nl_sock *sock;
    sock = nl_socket_alloc();
}