.NET 環境の 64 ビット アプリケーション

64 ビット プラットフォーム上で実行される .NET COBOL アプリケーションは、32 ビットまたは 64 ビットの共通言語ランタイム (CLR) のどちらも使用することができます。

プロジェクトのプロパティ [Platform Target] のデフォルト設定は [AnyCPU] です。つまり、64 ビット コンピューターでは 64 ビット CLR が使用され、32 ビット コンピューターでは 32 ビット CLR が使用されます。[Platform Target] で、32 ビットの場合は x86、64 ビットの場合は x64 などの特定のビット体系を使用するように指定することもできます。

注: SQL(DBMAN=ODBC) を使用して .NET 用にコンパイルする場合は、[Platform Target] を、使用している ODBC ドライバーのビット体系に対応する x86 または x64 に設定します。

ほとんどの COBOL プログラムは、再コンパイルせずに 64 ビット システムで実行できます。ただし、場合によっては、アプリケーション内の COBOL ポインター項目のサイズを、デフォルトの 32 ビットではなく 64 ビットに割り当てるように指定する必要があります。これを行うには、プロジェクト プロパティで [Generate 64-bit Pointers] を設定します。

次の場合には、64 ビットポインターを生成する必要があります。

  • アプリケーション内のすべてのプログラムのデータを組み合わせると、32 ビットを超えるアドレス空間が必要となる場合
  • .NET COBOL が 64 ビット CLR 上でネイティブ COBOL を呼び出し、.NET COBOL が、ポインターのある構造体を含むパラメーターを渡す場合

アプリケーションがネイティブ COBOL コードを使用しており、そのコードを 64 ビット CLR で実行する必要がある場合は、適切な 64 ビット プロセッサを対象とするようにそのコードを再コンパイルする必要があります。