Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在寻找一种简单的方法来测试内核是否在 C/C++ 中支持 Linux 上的 IPv6。检查 socket() 调用是否失败并且 errno 是否设置为 EINVAL 是否足够?
实际上,请阅读ipv6(7):对socket(7) -s 例程的调用,尤其是socket(2)和其他例程,例如bind(2)等...,可能会失败(无论如何你应该始终处理此类失败)。
您也可以使用proc(5)例如 read/proc/net/if_inet6或/proc/net/sockstat6 (我相信如果不支持它就不会存在ipv6)。
/proc/net/if_inet6
/proc/net/sockstat6
ipv6