------------------------------------------------------------------------ この修正パックは、ファイルの集まりとして提供されています。この修正パックを 導入するには、次のステップを実行してください。 (1) この修正パックを空のディレクトリー(たとえば、f:\ibmcsd)に unzip します。 PKUNZIP* を使用している場合には、-d を使用して、ファイルをディレクトリーに unzip してください。名前にブランクが含まれるディレクトリーには unzip しないで ください。 (2) 現行ディレクトリーを、service.exe が含まれているディレクトリーに変更します。 (3) 次のコマンドを出します。 SERVICE この修正パックは、LAN ドライブを含めて、ユーザーのシステムからアクションできる 任意のディスクに導入できます。サービス・プログラム自体は OS/2 J2.11 またはそれ 以降のセッションで実行する必要があります。 (4) 基本導入を実行した場合、前のバージョンをバックアップするかどうか尋ねられ ます。バックアップするかどうかを選択できますが、問題が起こった場合でも、 導入ユーティリティーの復元 (Restore) アクションで前のレベルを復元することは 絶対にしないでください。この修正パックの導入中にエラーが発生した場合には、 コンポーネントを削除してから再導入してください。 ------------------------------------------------------------------------ 修正パックを正常に導入するには、以下の条件が満たされている必要があります。 (1) CD-ROM、ディスケット、あるいは CD-ROM またはディスケットがコピーされた サーバーから、基本導入によって IBM VisualAge C++ for OS/2 プロダクト が導入されている。この修正パックは、CD-ROM 導入イメージがコピーされた サーバーに導入することもできます。 共用導入を実行したユーザーは、この修正パックをサーバーに適用したあとで、 ご自分のワークステーションからこのプロダクトを削除してから、再導入する 必要があります。 (2) この修正パックを導入した時点では、IBM VisualAge C++ for OS/2 のツールを セッションでオープンすることはできません。サービス対象のプロダクトのコピー が LAN ドライブに入っている場合には、他の LAN ユーザーがこれらのどのファイル もオープンしていないことを確認する必要があります。 (3) この修正パックのディレクトリーには、この修正パックのファイルだけが 含まれるようにしてください。別のファイルが存在している場合には、導入 が失敗する可能性があります。修正パックの ZIP ファイルを空のディレクトリー にアンパックするのが最善の方法です。 ------------------------------------------------------------------------ この修正パックは、IBM VisualAge C++ for OS/2 プロダクトのコンパイラー・コンポーネント に対して修正を適用するものです。 この修正パックに含まれる修正内容のリストが、ファイル CJC305.LST に含まれています。 修正は累積的です。したがって、この修正パックには、前の修正パックで修正されたもの も含めて、CJC305.LST に記載されたすべての修正が収められています。 この修正パックに含まれるファイルを網羅したリストが、ファイル SERVICE.LST に 示されています。 ---------------------------------------------------------------------------------- SOM で使用可能な C++ クラスについては、以下の説明をお読みください。 この修正パックは、Direct-To-SOM C++ のテンプレート・クラス名が誤ってマングル されるという、小さなバグ (APAR 52703) を修正します。このバグは、DTS C++ テンプレート・クラスの C++ および SOM のマングル名が混ざり合っているために発生した ものです。修正 52703 はこの振舞いを修正していますが、新たにマングルされた DTS C++ テンプレート・クラスの名前では、既存コードとのバイナリー互換性が 損なわれます。この修正は、テンプレート引数型としてクラス型を使用する DTS C++ テンプレート・クラスを含むソースにだけ影響を与えます。 ユーザーは、この修正を現行の修正パックからは使用しないようにする必要があります。 APAR 52703 の修正を使用不能にする方法: コンパイラーを呼び出すときに、オプション "-yxqcompatsommangling" を使用します。 オプション -yxcompatsommangling は、DTS で使用可能なテンプレート・クラス を含むソースをコンパイルするときに使用することができますが、DTS C++ クラス を扱うときは常にこのオプションを使用するようにおすすめします。 ------------------------------------------------------------------------ 追加された関数/マクロは、すべて umalloc. h 内でプロトタイプ化されています。 (I) int _upool(Heap_t uh, size_t minsz, size_t maxsz, size_t res, size_t flags) この関数は、 'minsz' から 'maxsz' までのサイズで malloc/_umalloc を介して 'uh' ヒープで実行されたすべての割振りについて、透過プールを作成します。 'res' 引数は予約されているため、この値としてはゼロを渡してください。 'flags' は、ゼロにすることも _POOL_PRESERVE にすることもできます。_POOL_PRESERVE は、プール 'uh' の heapmin オペレーションが、すでに作成されたサブプールの最小化を 試みないようにすることを表します。 この関数は、限られた範囲のサイズのオブジェクトの割振りと解放を行い、 しかも heap オペレーションで実行時間のかなりの部分を使用するような アプリケーションに最適です。ユーザーが提供したサイズ範囲について サブプールが高速で作成されるため、割振りと解放がかなり速くなります。 ヒープのためにすでに作成されたプールを除去するには、minsz および maxsz パラメーターを 0 に設定して _upool を呼び出します。 プール内のすべての項目は、呼出しで指定されたヒープに戻ります。 戻りコード 0 は、プールが正常に作成されたことを示します。 例: Heap_t uh; void *p; uh = _ucreate(....); - ユーザー・ヒープを作成 _upool(uh, 1, 128, 0, 0); - 1 から 128 までのサイズのサブプールを作成 p = _umalloc(uh, 100); - サブプールから割振り p = _umalloc(uh, 500); - ヒープから割振り _upool(uh,0 , 0, 0, 0); - ヒープ用の既存サブプールを除去 (II) int _uflush(Heap_t uh, size_t size) この関数は、サブプール内の指定された 'size' のすべてのオブジェクトを解放して、 ヒープに戻します。size をゼロにすると、プール全体がフラッシュされます。 戻りコード 0 は、エラーが検出されなかったことを示します。 (III) 内で定義された構造体 _HEAPSTATS は、以下のメンバーを 含むように拡張されました。 _pool_minsize - プールの最小サイズ _pool_maxsize - プールの最大サイズ _pool_freebytes - プールで利用可能なオブジェクトの合計サイズ _pool_allocs - プール内での割振りの量 _pool_frees - プール内での解放の量 _allocs - ヒープとプールでの割振りの量 _frees - ヒープとプールでの解放の量 これらの統計は _ustats で得ることができ、_upool で指定されたプール・サイズ が受け入れられたかどうか示されます。 コード・セット・コンバーター ---------------------------- 以下のリストは、Fixpak CTC305 あるいは、それ以降が適用された場合に VisualAge C++ で使用することができるコードセット・ページのテーブルです。 このテーブルにあるどの2つのコードページも互いに変換することができます。 CTC305 に含まれる 新しい iconv テーブルを使用するためには、 アプリケーションを再ビルドする必要があります。 注: ISO8859-1 は、現在では IBM-819 です。 ISO8859-9 は、現在では IBM-920 です。 IBM33722 は、EUC-J といわれることがあります。 ibm-037 ibm-1122 ibm-385 ibm-857 ibm-927 ibm-1004 ibm-1123 ibm-386 ibm-860 ibm-930 ibm-1006 ibm-1124 ibm-387 ibm-861 ibm-933 ibm-1008 ibm-1250 ibm-388 ibm-8612 ibm-935 ibm-1009 ibm-1251 ibm-389 ibm-862 ibm-937 ibm-1010 ibm-1252 ibm-391 ibm-863 ibm-939 ibm-1011 ibm-1253 ibm-392 ibm-864 ibm-941 ibm-1012 ibm-1254 ibm-393 ibm-865 ibm-942 ibm-1013 ibm-1255 ibm-394 ibm-866 ibm-943 ibm-1014 ibm-1256 ibm-395 ibm-868 ibm-946 ibm-1015 ibm-1257 ibm-420 ibm-869 ibm-947 ibm-1016 ibm-1275 ibm-423 ibm-870 ibm-948 ibm-1017 ibm-1276 ibm-424 ibm-871 ibm-949 ibm-1018 ibm-1277 ibm-437 ibm-874 ibm-950 ibm-1019 ibm-1350 ibm-4948 ibm-875 ibm-951 ibm-1025 ibm-1380 ibm-4951 ibm-880 ibm-952 ibm-1026 ibm-1381 ibm-4952 ibm-891 ibm-955 ibm-1027 ibm-1382 ibm-4960 ibm-895 ibm-960 ibm-1028 ibm-1383 ibm-500 ibm-896 ibm-961 ibm-1038 ibm-256 ibm-5037 ibm-897 ibm-963 ibm-1040 ibm-259 ibm-5039 ibm-903 ibm-964 ibm-1041 ibm-273 ibm-5048 ibm-9030 ibm-970 ibm-1042 ibm-274 ibm-5049 ibm-904 ibm-971 ibm-1043 ibm-277 ibm-5067 ibm-905 ibm28709 ibm-1046 ibm-278 ibm-5142 ibm-9056 ibm33722 ibm-1047 ibm-280 ibm-5478 ibm-9066 ibmsbdcn ibm-1050 ibm-282 ibm-813 ibm-907 ibmsbdtw ibm-1051 ibm-284 ibm-819 ibm-909 ibmudccn ibm-1088 ibm-285 ibm-829 ibm-910 ibmudcjp ibm-1089 ibm-287 ibm-833 ibm-912 ibmudctw ibm-1092 ibm-290 ibm-834 ibm-913 x2081983 ibm-1097 ibm-293 ibm-835 ibm-914 ibm-1098 ibm-297 ibm-836 ibm-9145 ibm-1112 ibm-300 ibm-837 ibm-915 ibm-1114 ibm-301 ibm-838 ibm-916 ibm-1115 ibm-361 ibm-850 ibm-918 ibm-1116 ibm-363 ibm-851 ibm-919 ibm-1117 ibm-367 ibm-852 ibm-920 ibm-1118 ibm-382 ibm-855 ibm-921 ibm-1119 ibm-383 ibm-856 ibm-922