プラットホーム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
にこよん
記事: 112
登録日時: 2年前
住所: 大阪府
連絡を取る:

プラットホーム

#1

投稿記事 by にこよん » 2年前

visualstudio2017のWin32アプリケーションでデバッグかリリースを選択する場所の右にある
x86とx64を選ぶところがありますが(プラットホーム?)、これを変更すると何が変わるのでしょうか?

私が現在持っている知識からはこれぐらいのことしか推測できないのですが、あっていますか?
その他何か変わることや、注意点などがあればご教授ください。

x86
作成したプログラムを動かすパソコンのCPUが32bitでも64bitでも動くが処理が遅い?

x64
作成したプログラムを動かすパソコンのCPUが64bitでしか動かないが処理が速い?
最近は東方風アクションゲームを少しずつ作ってる人です
東方翠風燐FreeDownload⇒http://dxlib.o.oo7.jp/cgi/patio/read.cgi?no=212

YuO
記事: 936
登録日時: 8年前
住所: 東京都世田谷区

Re: プラットホーム

#2

投稿記事 by YuO » 2年前

処理の速度の差が出る場合もありますが,大きいのは利用可能なメモリの大きさです。
  • x86は32bit用の実行ファイルを生成するため,32bit環境でも64bit環境でも実行できますが,メモリは最大4GiB (実際のユーザーメモリ空間は2GiB未満) しか扱えません。
  • x64は64bit用の実行ファイルを生成するため,32bit環境では実行できず64bit環境のみで実行できますが,メモリは最大16EiB (実際はOSに依存,Windows 2016の場合は24TiB) まで扱えます。
動画編集ソフトなど,大量のメモリを必要とする場合などには,x64用のバイナリを作るとプログラムが簡単になる場合があります。

注意点としては,ポインタ型やsize_t, ptrdiff_tなどの型のサイズが変化することがあります。
x86ビルドにおいてこれらの型は32bitでしたが,x64ビルドにおいてこれらの型は64bitになります。
printfに渡すときなどに,size_tに対応する箇所を%dにしてしまうと,正しく値が表示されなくなりますし,
ref) http://dixq.net/forum/viewtopic.php?t=5310&p=44235
ポインタをint型にキャストして元の型に戻すと,値が欠落する可能性があります。

アバター
にこよん
記事: 112
登録日時: 2年前
住所: 大阪府
連絡を取る:

Re: プラットホーム

#3

投稿記事 by にこよん » 2年前

よくわからないままx86を使っていたのですが、小さなプログラムしか作れないので
今後もx86のままやっていきます。
もやっとしたものがはれました ^^)

迅速な返信ありがとうございました。
最近は東方風アクションゲームを少しずつ作ってる人です
東方翠風燐FreeDownload⇒http://dxlib.o.oo7.jp/cgi/patio/read.cgi?no=212

アバター
keito94
記事: 264
登録日時: 2年前
連絡を取る:

Re: プラットホーム

#4

投稿記事 by keito94 » 2年前

オフトピック
ゲームを作る時は、気にしなくていいかもしれません。
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。

アバター
にこよん
記事: 112
登録日時: 2年前
住所: 大阪府
連絡を取る:

Re: プラットホーム

#5

投稿記事 by にこよん » 2年前

そうですね。
作っているのはゲームなので今後もx86のままやっていきます。

解凍ありがとうございました。
最近は東方風アクションゲームを少しずつ作ってる人です
東方翠風燐FreeDownload⇒http://dxlib.o.oo7.jp/cgi/patio/read.cgi?no=212

返信

“C言語何でも質問掲示板” へ戻る