- ベストアンサー
64ビットに対応したソフトウェアの開発方法
- 64ビットに対応したソフトウェアの開発方法について解説します。
- プログラマのスキルや意識が64ビット対応の程度に影響するのか、規則に沿って書き方をするだけで自然に64ビット化するのかについて考えます。
- また、64ビットプログラムの特徴や動作環境についても解説します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Windowsなら開発ツールのVisualStudioで32/64bitアプリが開発可能です。 32bitと64bitの切りかえはビルド(コンパイル・リンク)時に指定可能で、ターゲットCPUも指定できます。通常はx86用としてコンパイルしますが場合によってはi586用とか80386用という指定が可能。最新のCPUの場合はMicrosoft VisualStudioでは指定できない場合があり、最新CPU用にコンパイルしたい場合はIntelからリリースされているVisualC++を使用する必要があったりします。 プログラムのコーディングで違う場合もあります。 C言語の場合インラインアセンブラと言ってC言語のソースの中にあ゛んぶらげんごを混入させることが可能なのですが、この時にコンパイルオプションによってどのコードをコンパイルさせるか指定することが可能。 インラインアセンブラを使うケースはCのライブラリを使うよりアセンブラで記述した方が効率が高い場合やプログラムサイズを減らしたい場合、特定CPUの専用命令を使いたい場合に有効。 今はそういう開発をしているところは皆無じゃないかな?インラインアセンブラじゃなくてライブラリ化しているところが殆どだと思うし、そういうことを気にしなくてもいい開発環境が主流になっているからね。更に言うと、今はプログラムの実行効率よりも人が携わる開発効率の方を重視するから… >・64ビット専用のプログラムは32ビット環境では動かないということですが、何がネック >となり動作できないのでしょうか? これはCPUのレジスタ長とか命令のbit長などCPUの特徴を知っていれば何の疑問も出てきません。それにOSレベルでその手の判断をしたりしますからね。 実行プログラムの先頭にはそのプログラムの素性とも呼べる情報が含まれています。OSがその素性を見て自分(OS)にあっているかどうか判断できます。そういう機能を持っていないOSだと実行させた時にOSレベルで暴走したりします。
その他の回答 (1)
余りこの分野に詳しくはありませんが(^^; プログラマーが意識的にやる部分はほとんどないでしょう。コンパイラ(乱暴に云えば開発ツール)がほとんど全部やってくれる。プログラマーはコンパイル指定を替える程度をやるかどうかで、コードが変わることはまずないでしょう。ちょっと古いですが、下記URLなどをご参考に。 http://journal.mycom.co.jp/special/2005/compiler/menu.html