我正在尝试将Linux / Android C应用程序迁移到macOS / iOS。

我有这个问题,此应用有时使用libnl库,在源代码中您可以看到包括:

#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <linux/if_tun.h>


这些文件来自libnl库,您可以在这里找到有关此库的信息:

https://www.infradead.org/~tgr/libnl/doc/core.html#_introduction

我不知道macOS和iOS中的等效功能是什么。也许是一样的,但走了另一条路?

我也尝试下载libnl库并将其添加到/ usr / local / include中,但是它具有其他依赖关系,这就是为什么我认为我使用错误的方式...

我找到了该指南https://developer.apple.com/library/content/documentation/Darwin/Conceptual/NKEConceptual/intro/intro.html#//apple_ref/doc/uid/TP40001858-CH225-SW1

但这意味着我需要重写使用libnl的代码的所有部分?

有任何想法吗?

提前致谢!

最佳答案

您可能需要对代码进行一些更改。快速浏览libnl文档,您可能可以使用GDAsyncSocket。

https://github.com/robbiehanson/CocoaAsyncSocket

但是,如果看不到您的代码,就无法确定。

关于ios - macOS和iOS上的libnl,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40137149/

10-11 14:56