我希望能够从我的 C/C++ 程序中为 Linux 上的 DNS 名称服务器添加 IP 地址。我在一个带有只读/etc/resolv.conf 的嵌入式平台上。这意味着我不能简单地在文件中添加一个“nameserver xxx.xxx.xxx.xxx”行而没有一点技巧。有没有什么干净的方法可以从代码中做到这一点?
我可以尝试将 /etc/resolv.conf 符号链接到 tmpfs 中的文件,但这看起来很不自然,感觉就像我应该能够在不写入文件的情况下做的事情。
我希望能够从我的 C/C++ 程序中为 Linux 上的 DNS 名称服务器添加 IP 地址。我在一个带有只读/etc/resolv.conf 的嵌入式平台上。这意味着我不能简单地在文件中添加一个“nameserver xxx.xxx.xxx.xxx”行而没有一点技巧。有没有什么干净的方法可以从代码中做到这一点?
我可以尝试将 /etc/resolv.conf 符号链接到 tmpfs 中的文件,但这看起来很不自然,感觉就像我应该能够在不写入文件的情况下做的事情。
从您的 libcnsaddr_list
中查看。resolv.conf
这个问题说:
虽然没有记录,但设置使用的解析器的常用方法是更新
_res.nsaddr_list
.
在 uClibc 0.9.31 中,特别是在第 533 行有一个注释来resolv.c
描述它是如何工作的。