日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V8.3
ライブラリ

タイトルページ
目次
まえがき
第 1 章:はじめに
第 2 章:仮想アドレス空間の概要
第 3 章:システム・サービスの 64 ビット・アドレッシングのサポート
第 4 章:メモリ管理 VLM 機能
第 5 章:64 ビット・アドレッシングを対象とする RMS インタフェースの強化
第 6 章:ファイル・システムの 64 ビット・アドレッシングのサポート
第 7 章:OpenVMS Alpha デバイスの 64 ビット・アドレッシングのサポート
第 8 章:OpenVMS Alpha 64 ビット API ガイドライン
第 9 章:64 ビット・アドレッシングをサポートする OpenVMS Alpha ツールおよびユーティリティ
第 10 章:言語およびポインタの 64 ビット・アドレッシング・サポート
第 11 章:DEC C RTL の 64 ビット・アドレッシング・サポート
付録 A :64 ビット・アドレッシングのための C マクロ
付録 B :64 ビット・アドレッシングのための MACRO-32 マクロ
付録 C :64 ビット・プログラム例
付録 D :VLM プログラム例
索引
PDF
OpenVMS ホーム
Open VMS Alpha オペレーティング・システム | HPE 日本

Open VMS Alpha オペレーティング・システム
64 ビット・アドレッシングおよび VLM 機能説明書


目次 索引

付録 A
64 ビット・アドレッシングのための C マクロ

ここでは 64 ビット・アドレスの操作, 64 ビット値の下位 32 ビットの符号拡張のチェック,および 64 ビット形式のディスクリプタをチェックする C マクロについて説明します。

  • $DESCRIPTOR64

  • $is_desc64

  • $is_32bits




64 ビット文字列ディスクリプタを構成します。

形式

$DESCRIPTOR64 name, string


説明

name:変数の名前。
string:文字列のアドレス。

例:


 
        int status; 
        $DESCRIPTOR64 (gblsec, "GBLSEC_NAME"); 
 
        ... 
 
        /* Create global page file section */ 
        status = sys$create_gpfile (&gblsec, 0, 0, section_size, 0, 0); 
 
        ... 
 

このマクロは,SYS$LIBRARY:DECC$RTLDEF.TLB 内の descrip.h にあります。




64 ビット・ディスクリプタを識別します。

形式

$is_desc64 desc


説明

desc: 32 ビットまたは 64 ビット・ディスクリプタのアドレス。

戻り値:

ディスクリプタが 32 ビット・ディスクリプタの場合は0。
ディスクリプタが 64 ビット・ディスクリプタの場合は1。

例:


#include <descrip.h> 
#include <far_pointers.h> 
... 
        if ($is_desc64 (user_desc)) 
        { 
                /* Get 64-bit address and 64-bit length from descriptor */ 
                ... 
        } 
        else 
        { 
               /* Get 32-bit address and 16-bit length from descriptor */ 
               ... 
        } 
 

このマクロは,SYS$LIBRARY:DECC$RTLDEF.TLB 内の descrip.h にあります。




クォドワードが 32 ビット符号拡張されているかどうかをチェックします。

形式

$is_32bits arg


説明

入力: arg 64 ビット値。

出力:

arg が 32 ビット符号拡張されている場合は1。
arg が 32 ビット符号拡張されていない場合は0。

例:


        #include <starlet_bigpage.h> 
        ... 
        if ($is_32bits(user_va)) 
                counter_32++;   /* Count number of 32-bit references */ 
        else 
                counter_64++;  /* Count number of 64-bit references */ 
 

このマクロは,SYS$LIBRARY:SYS$STARLET_C.TLB 内の starlet_bigpage.h にあります。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項