none
x64プラットフォームへの移行について RRS feed

  • 質問

  • こんにちは
    いままで、VS2003でシステムを作成してきましたが、Win7 64bitOSの登場で、既存システムを64bitアプリに移行できないものかと考えています。
    ソースをできる限り共有して、バイナリレベルで32bit/64bitを分けたいのです。
    VS2008でVS2003ソリューションの変換とx64プラットフォームの追加まで行ってみましたが、プリプロセッサの設定で悩んでいます。
    VS2003のシステムでは、「WIN32」というプリプロセッサが定義されますが、VS2008のx64プラットフォームの場合は同じ定義でよいのか、別の定義(たとえば「WIN64」とか)に変更しなければならないのでしょうか。
    いろいろと調べてみましたが、見つけられませんでした。
    ご存知の方がいらっしゃれば教えてください。
    また、64bitアプリへの移行を経験された方がいらっしゃれば、注意点などのアドバイスいただけると助かります。
    2009年12月8日 1:54

回答

  • 64bit ビルドかどうかの判断は _WIN64 の有無で判断します。WIN32は、Win16 や、非Windows環境との違いを識別するためのものと思っておけばいいでしょう。

    WIN32 も定義されたままの状態だった気がするので、そのあたりはご自身でプロジェクトを作って試してみてください。
    試す場合は、移行してきたプロジェクトではなく新規に作ったプロジェクトで試すことをお勧めします。

    それと、これは個人的に感じたことですが、移行する場合、プロジェクトそのものは新規に作りなおしたほうが結果的にはいい形になるようです。
    互換モードとかがひっそりと埋め込まれていたりするようですので...<社内のほかのメンバーが調べたことなので詳細はあまり分かってませんがw


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    • 回答としてマーク mokosan 2009年12月8日 5:37
    • 回答としてマークされていない mokosan 2009年12月8日 5:37
    • 回答としてマーク mokosan 2009年12月8日 5:37
    • 回答としてマークされていない mokosan 2009年12月8日 5:38
    • 回答としてマーク mokosan 2009年12月8日 5:41
    2009年12月8日 3:28

すべての返信

  • x64プラットフォームの場合は、_M_X64 が定義されます。
    http://msdn.microsoft.com/ja-jp/library/b0084kay%28VS.80%29.aspx

    ポインタが64bitになるため、ポインタを int 等の32bitの型にキャストしていたりするとまずいです。
    2009年12月8日 3:27
  • 64bit ビルドかどうかの判断は _WIN64 の有無で判断します。WIN32は、Win16 や、非Windows環境との違いを識別するためのものと思っておけばいいでしょう。

    WIN32 も定義されたままの状態だった気がするので、そのあたりはご自身でプロジェクトを作って試してみてください。
    試す場合は、移行してきたプロジェクトではなく新規に作ったプロジェクトで試すことをお勧めします。

    それと、これは個人的に感じたことですが、移行する場合、プロジェクトそのものは新規に作りなおしたほうが結果的にはいい形になるようです。
    互換モードとかがひっそりと埋め込まれていたりするようですので...<社内のほかのメンバーが調べたことなので詳細はあまり分かってませんがw


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    • 回答としてマーク mokosan 2009年12月8日 5:37
    • 回答としてマークされていない mokosan 2009年12月8日 5:37
    • 回答としてマーク mokosan 2009年12月8日 5:37
    • 回答としてマークされていない mokosan 2009年12月8日 5:38
    • 回答としてマーク mokosan 2009年12月8日 5:41
    2009年12月8日 3:28
  • issiさん、とっちゃんさん ありがとうございます。
    参考にさせていただきながら、作業を進めてまいります。
    今後ともよろしくお願いいたします。

    2009年12月8日 5:41