0

PC の eth0 インターフェイスの IP アドレスを使用する必要があります (Linux OS - IPv4)。事前にIPアドレスを知らずに定数変数として定義するにはどうすればよいですか?

4

2 に答える 2

2

それはいけません。

C で定数を定義するには、プリプロセッサ ( #define) と定数 ( const something) の 2 つの方法があります。これらはどちらも、コンパイル時に定数の値がわかっている必要があります¹。したがって、プログラムの実行中に別の値で上書きされる可能性なしに、この 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 に答える