[解決済み] データ型 - socklen_t, sa_family_t
2022-02-02 04:24:58
質問
を使用して簡単なソケットWebサーバを構築しています。
sys/socket.h
ライブラリで
socklen_t
と
sa_family_t
というデータ型があり、その実際の目的が何なのか、少し混乱しています。
定義
-
sa_family_t
- 符号なし整数型です。 -
socklen_t
- 少なくとも 32 ビットの長さを持つ符号なし不透明整数型。
今、私は、その
<sys/socket>
libは3つの構造体(
sockaddr
,
msghdr
,
cmsghdr
) があり、これらのデータ型を宣言するメンバが含まれています。
-
sa_family_t sa_family address family
-
socklen_t msg_namelen size of address
-
socklen_t msg_controllen ancillary data buffer len
-
socklen_t cmsg_len data byte count, including the cmsghdr
しかし、なぜ新しいデータ型を作るのでしょうか?
unsigned int
というデータ型があります。
解決方法は?
これらのフィールドに特定の型を宣言することで、これらのフィールドを以下のような特定の表現から切り離すことができます。
unsigned int
.
アーキテクチャが異なれば、これらのフィールドに異なるサイズを定義することも自由です。
int
は、あるマシンでは
関連
-
[解決済み】Cコンパイルエラー。"変数サイズのオブジェクトが初期化されていない可能性がある"
-
[解決済み] strtokのセグメンテーションフォールト
-
[解決済み】式は、単純なポインタ演算を使用して完全なオブジェクト型へのポインタでなければなりません【重複】。
-
[解決済み】「構造体でもユニオンでもないものにメンバー'*******'を要求する」とはどういう意味ですか?
-
[解決済み] struct has no member named
-
[解決済み】ヒープ割り当てで初期化されていない値が作成された
-
[解決済み】LinuxのI_PUSHに相当するもの
-
[解決済み】int型配列へのポインタのスカラ・イニシャライザの過剰要素
-
[解決済み] '{'トークンの前に期待される式
-
[解決済み】whileループの時間複雑性(Big O)はどうやったらわかるの?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】デバッガgdbの使用時に不明な終了シグナルが発生する。
-
[解決済み] struct で "warning: useless storage class specifier in empty declaration" (警告: 空の宣言での無駄なストレージクラス指定子)
-
[解決済み】LEALアセンブリ命令は何をするのですか?
-
[解決済み】C言語でint64_t型を表示する方法
-
[解決済み] C: エラー: ';'トークンの前に ')' があると予想される
-
[解決済み】スタックスマッシュを検出しました
-
[解決済み】int型配列へのポインタのスカラ・イニシャライザの過剰要素
-
[解決済み] Cプログラムで「配列の添え字が整数でない」。
-
[解決済み】.axfファイルとは何ですか?
-
[解決済み】配列型char[]が代入できない [重複]。