OSDN Git Service

(split) LDP: Release some pages.
[linuxjm/LDP_man-pages.git] / release / man3 / offsetof.3
index c11efc4..4c9e308 100644 (file)
 .\" References:
 .\"   /usr/lib/gcc/i486-linux-gnu/4.1.1/include/stddef.h
 .\"   glibc-doc
+.\"*******************************************************************
 .\"
-.\" Japanese Version Copyright (c) 2006 Akihiro MOTOKI
-.\"                             all rights reserved.
-.\" Translated 2006-07-25, Akihiro MOTOKI, Catch up to LDP v2.34
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH OFFSETOF 3 2008-07-12 "GNU" "Linux Programmer's Manual"
-.SH Ì¾Á°
-offsetof \- ¹½Â¤ÂΤΥá¥ó¥Ð¡¼¤Î¥ª¥Õ¥»¥Ã¥È¤òÊÖ¤¹
-.SH ½ñ¼°
+.\"*******************************************************************
+.TH OFFSETOF 3 2008\-07\-12 GNU "Linux Programmer's Manual"
+.SH 名前
+offsetof \- 構造体のメンバーのオフセットを返す
+.SH 書式
 .nf
-.B #include <stddef.h>
+\fB#include <stddef.h>\fP
 .sp
-.BI "size_t offsetof(" type ", " member );
+\fBsize_t offsetof(\fP\fItype\fP\fB, \fP\fImember\fP\fB);\fP
 .fi
-.SH ÀâÌÀ
-.BR offsetof ()
-¥Þ¥¯¥í¤Ï¡¢¥Õ¥£¡¼¥ë¥É \fImember\fP ¤Î
-¹½Â¤ÂΠ\fItype\fP ¤ÎÀèƬ¤«¤é¤Î¥ª¥Õ¥»¥Ã¥È¤òÊÖ¤¹¡£
+.SH 説明
+\fBoffsetof\fP()  マクロは、フィールド \fImember\fP の 構造体 \fItype\fP の先頭からのオフセットを返す。
 
-¤³¤Î¥Þ¥¯¥í¤¬Í­ÍѤʤΤϡ¢
-¹½Â¤ÂΤò¹½À®¤¹¤ë¥Õ¥£¡¼¥ë¥É¤Î¥µ¥¤¥º¤Ï¼ÂÁõ¤Ë¤è¤Ã¤ÆÊѲ½¤¹¤ë¤·¡¢
-¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ê¥Õ¥£¡¼¥ë¥É´Ö¤ËÁÞÆþ¤¹¤ë¥Ñ¥Ç¥£¥ó¥°¤Î¥Ð¥¤¥È¿ô¤â
-°ã¤¦²ÄǽÀ­¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë¡£
-¤½¤Î·ë²Ì¡¢¤¢¤ë¥¨¥ì¥á¥ó¥È¤Î¥ª¥Õ¥»¥Ã¥È¤Ïɬ¤º¤·¤â¤½¤ì¤è¤êÁ°¤Î
-¥¨¥ì¥á¥ó¥È¤Î¥µ¥¤¥º¤Î¹ç·×¤È¤Ï¤Ê¤é¤Ê¤¤¡£
+このマクロが有用なのは、 構造体を構成するフィールドのサイズは実装によって変化するし、 コンパイラによりフィールド間に挿入するパディングのバイト数も
+違う可能性があるからである。 その結果、あるエレメントのオフセットは必ずしもそれより前の エレメントのサイズの合計とはならない。
 
-\fImember\fP ¤¬¥Ð¥¤¥È¶­³¦¤Ë°ÌÃÖ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç
-(¤¹¤Ê¤ï¤Á¡¢¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Î¾ì¹ç) ¤Ë¤Ï¡¢
-¥³¥ó¥Ñ¥¤¥é¤Ç¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¡£
-.SH ÊÖ¤êÃÍ
-.BR offsetof ()
-¤Ï¡¢»ØÄꤵ¤ì¤¿
-.I member
-¤Î»ØÄꤵ¤ì¤¿
-.I type
-¤ÎÃæ¤Ç¤Î¥ª¥Õ¥»¥Ã¥È¤ò¡¢¥Ð¥¤¥Èñ°Ì¤ÇÊÖ¤¹¡£
-.SH ½àµò
-C89, C99, POSIX.1-2001.
-.SH Îã
-Linux/i386 ¥·¥¹¥Æ¥à¤Ç¡¢
-.BR gcc (1)
-¤Î¥Ç¥Õ¥©¥ë¥È¥ª¥×¥·¥ç¥ó¤Ç
-¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¾ì¹ç¡¢²¼µ­¤Î¥×¥í¥°¥é¥à¤Ï°Ê²¼¤Î¤è¤¦¤Ê½ÐÎϤòÊÖ¤¹¡£
+\fImember\fP がバイト境界に位置していない場合 (すなわち、ビットフィールドの場合) には、 コンパイラでエラーが発生する。
+.SH 返り値
+\fBoffsetof\fP()  は、指定された \fImember\fP の指定された \fItype\fP の中でのオフセットを、バイト単位で返す。
+.SH 準拠
+C89, C99, POSIX.1\-2001.
+.SH 例
+Linux/i386 システムで、 \fBgcc\fP(1)  のデフォルトオプションで コンパイルされた場合、下記のプログラムは以下のような出力を返す。
 .in +4n
 .nf
 
-.RB "$" " ./a.out"
+$\fB ./a.out\fP
 offsets: i=0; c=4; d=8 a=16
 sizeof(struct s)=16
 .fi
-.nf
-.SS ¥×¥í¥°¥é¥à¤Î¥½¡¼¥¹
+.SS プログラムのソース
 \&
 .nf
 #include <stddef.h>
@@ -91,15 +74,19 @@ main(void)
         char a[];
     };
 
-    /* ½ÐÎϤϥ³¥ó¥Ñ¥¤¥é°Í¸¤Ç¤¢¤ë */
+    /* 出力はコンパイラ依存である */
 
-    printf("offsets: i=%ld; c=%ld; d=%ld a=%ld\\n",
+    printf("offsets: i=%ld; c=%ld; d=%ld a=%ld\en",
             (long) offsetof(struct s, i),
             (long) offsetof(struct s, c),
             (long) offsetof(struct s, d),
             (long) offsetof(struct s, a));
-    printf("sizeof(struct s)=%ld\\n", (long) sizeof(struct s));
+    printf("sizeof(struct s)=%ld\en", (long) sizeof(struct s));
 
     exit(EXIT_SUCCESS);
 }
 .fi
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。