0

我需要使用 PC 的 eth0 接口的 IP 地址(Linux OS - IPv4)。在事先不知道 IP 地址的情况下,如何将其定义为常量变量?

4

2 回答 2

2

你不能。

在 C 中定义常量有两种方法:预处理器 ( #define) 和常量 ( const something)。这两者都要求在编译时知道常量的值¹。因此,如果您的目标是有一种方法来引用此 IP,而在程序执行期间不可能用另一个值覆盖它,那根本不可行。

于 2012-05-13T13:11:56.810 回答
2

如果您将它们作为指向地址缓冲区的指针,则可以。导出指向const限定类型​​的指针

extern your_address_type const*const addr;

你必须让你的图书馆代码看到类似的东西

static your_address_type my_address;
your_address_type const*const addr = &my_address;

在您的库中,您可以my_address正确初始化,客户端代码只能看到addr并且无法更改它。

于 2012-05-13T13:36:56.640 回答