我需要使用PC的eth0接口的IP地址(Linux OS - IPv4)。如何在不事先知道IP地址的情况下将其定义为常量变量?
答案 0 :(得分:2)
你不能。
在C中定义常量的方法有两种:预处理器(#define
)和常量(const something
)。这两个都要求在编译时知道常量的值¹。因此,如果你的目标是有一种方法来引用这个IP而不可能在程序执行期间用其他值覆盖它,那就根本不可行。
答案 1 :(得分: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
,但无法更改。