8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Delphi の型のエイリアス

Last updated at Posted at 2020-04-02

マルチプラットフォーム時代の型

Delphi には元々、Integer とか Cadinal と言った整数型があります。
ですが、今やこれらの型名は NativeInt や LongWord といった型のエイリアスと書いてあったり(実際には違います)します。

それじゃあ、NativeInt とか NativeUInt は何よっていう話ですが、これらは 32bit プラットフォームでは 32bit、64bit プラットフォームでは 64bit の整数を表す型です。
また、それに対して、プラットフォームに関わらず必ず 32bit 固定の型 FixedInt, FixedUInt もあります。
これについて詳しくは下記の DocWiki を参照してください。

ビット数に即した型名(エイリアス)

ということで、Integer とか NativeInt や FixedInt, LongWord とか、色々と型があって、マルチプラットフォームでは少々ややこしいです。
そこで、型のエイリアスを使うと解りやすく書けます。

エイリアス ビット数
Int8 8
Int16 16
Int32 32
Int64 64

うわあ!表にするまでも無く解りやすうい!

符号無し整数型や実数型についても同様で

エイリアス ビット数
UInt8 8
UInt16 16
UInt32 32
UInt64 64
エイリアス ビット数
Float32 32
Float64 64

と定義されています。
(そもそも実数型は Real を除いて Single / Double なんだからそのままなんですけどね…)

なお、全ての型のサイズについては下記の DocWiki をご覧ください。

まとめ

これからは型のエイリアスを使った方が解りやすそうです。

とはいえ、今や 32bit のバイナリが動作するのは Windows のみ…(iOS は 2017/9, Android は 2019/8, macOS は 2019/10 に 32bit アプリの実行またはストアへアップできなくなりました)

マルチプラットフォーム時代の!などとぶち上げましたが、実際に影響が大きいのは Windows でしょう。

ということで、VCL ユーザーも気になる Windows 64bit 対応については公式の DocWiki も参考になりますが、DEKO さんの「64 ビット Windows プログラミング ガイド for Delphi 64 ビット コンパイラ」が解りやすく参考になります。

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?