3

型のサイズは C の標準では近くないため、型の最大サイズと最小サイズが存在しない場合、gcc がこれをどのように解釈するかをどこで見つけられるか知りたいです。

それらが取る型のサイズはgccドキュメントのどこにありますか? 指定はありますか?私はその情報を見つけることができないので、いくつかの助けを求めています.

前もって感謝します。

--- 結論 ---

すべてのコメントを調べて、最終的にこのリンクの情報を取得して、答えを主張します

5.2.4.2.1 整数型のサイズ : http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1336.pdf

http://gcc.gnu.org/onlinedocs/gccint/Type-Layout.html

4

3 に答える 3

3

他の人が言ったように、limits.h を見ることができます。ただし、自分で行うより良い方法は、自分の言いたいことを言うことです。したがって#include <stdint.h>、あなたは使用することができます

  • int32_t正確に 32 ビット
  • int_fast32_t少なくとも 32 ビットを持つ最速のデータ型の場合

ただし、配列オフセットを格納する場合は、size_torを使用する必要がありますssize_t。同様に、ポインタを格納するのに十分な大きさの整数データ型の場合は、intptr_t.

于 2012-10-09T11:11:56.033 に答える
3

これは GCC ドキュメント自体ではなく、各ターゲット システムの ABI ドキュメントにあります。たとえば、Linux x86_64 の場合、ABI ドキュメントは次の場所にあります: http://www.x86-64.org/documentation/abi.pdf

GCC がサポートする各 ABI の詳細は、もちろん GCC ソースにコード化されています。たとえば、 http: //gcc.gnu.org/onlinedocs/gccint/Target-Macros.htmlにある GCC 内部マニュアルの第 17 章を参照してください。

于 2012-10-09T11:12:55.050 に答える
2

最小値と最大値については、limits.h (または C99 以降の同等のもの - limits.h を含む stdint.h) を調べることができます。

型のサイズについては、 sizeof(); を使用してください。

于 2012-10-09T11:08:16.413 に答える