トップページ > 記事閲覧
32bitか64bitかを取得したい
名前:BayLeaf 日時: 2019/02/04 10:30

お世話になっております。 Android版ではデバッグ時にプラットフォームの指定ができますが、 通常はインストールした端末によって適切に選択されると思います。 上記と同期してアプリ内でも分岐処理をさせたいため、 32bitか64bitかを取得したいと考えています。 32bitと64bitで戻り値の異なる関数があればご教授ください。 もしくは ARM,ARM64,x86,x64 が取得できる関数を追加してほしいです。 よろしくお願いします。
メンテ

Page: 1 |

Re: 32bitか64bitかを取得したい ( No.1 )
名前:8127 日時:2019/02/04 15:01

32bitとか64bitはint型の変数のサイズを表しています。 //32や64などが返る関数 size_t getBit(){ return 8*sizeof(int); }
メンテ
Re: 32bitか64bitかを取得したい ( No.2 )
名前:管理人 日時:2019/02/04 23:25

> 8127さん int は 64bitアプリでも 32bit なので、sizeof( int ) では 64bitアプリとして 動作しているかどうかは判定できません ポインタは間違いなく 64bit になるので sizeof( int ) の代わりに sizeof( void * ) を 使うことで判定することができます //32や64などが返る関数 size_t getBit(){ return 8*sizeof(void *); }
メンテ
Re: 32bitか64bitかを取得したい ( No.3 )
名前:8127 日時:2019/02/05 03:17

失礼しました。管理人様のコードが正しいです。 ttps://project-flora.net/2015/07/21/cc%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E6%95%B4%E6%95%B0%E5%9E%8B%E3%81%AB%E3%81%AF%E6%B0%97%E3%82%92%E3%81%A4%E3%81%91%E3%82%88/ が参考になります。
メンテ
Re: 32bitか64bitかを取得したい ( No.4 )
名前:BayLeaf(解決) 日時:2019/02/06 00:27

> 8127さん、管理人さん ARMとARM64で試してそれぞれ32と64が正常に返りました。 8127さんのも参考にさせていただきます。 ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存