問題タブ [openvms]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ でのシグナル処理
型の引数は型void (*)(int)
のパラメーターと互換性がありません__sighnd64_t
以下は私の簡単なコードです:
私はopenvmsに取り組んでいます。ある種の型キャストでコンパイル エラーを回避できますか? 私のコンパイラは `__sighnd64_t __64_signal(int, __sighnd64_t); を期待しています。
ハンドラ extern c を追加するとうまくいきました。ありがとう
openvms - OpenVMS の DCL シンボル構文
OpenVMS の DCL のいくつかの構文について、私は本当に混乱しています。たとえば、これらは私を混乱させた行の一部です。
wo
write sys$outputのシンボルを作成しますか?
p1
実行時に .com ファイルにパラメーターが渡されますか? いくつのパラメーターを指定できますか?
''abc' はシンボル abc の内容で置き換えられますか? 「abc」ではなく「abc」なのはなぜですか? "" を使用できますか?
とは.nes.
どういう意味ですか? 同等?.ne も見ました。、.eqs。それも。それらの違いは何ですか?
「and」と「or」が 2 つのドットで囲まれているのはなぜですか? DCL 固有の構文ですか?
分かりやすい無料のオンラインチュートリアルがあればいいのにと思います。皆さん、ありがとうございました!
cobol - 英数字を変換して計算に使用するにはどうすればよいですか?
「79.85」、「1000」、「212.34」などの文字列を含むシーケンシャル ファイルを読み込みます。
英数字をこの形式の数値に変換したい 00000.00 ?
これらの数値を合計して、 0000000.00 の形式のフィールドに移動する必要があります。
私は試した:
私が得たのは予想外で、文字列はまったく同じです。左揃えで、先行ゼロ表示はありません。
どうすれば右揃えになり、先行ゼロを持つことができますか?
編集: NealB による提案を試しましたが、残念ながら失敗しました:
79.85 << これは、DISPLAY WS_AMOUNT_TXT を呼び出してクラッシュしたときに表示されたものです。
%cob-f-numvalarginv、numvalまたはnumval-c引数無効な%trace-f-traceback、シンボリックスタックダンプは画像モジュールルーチンラインレルPC ABS PC DEC $ COBRTL 0 000000000001F2B8 00000000000000007C2F72B8 DEC $ COBRTL 0 00000000001474000000000000007C2000000000000000000000000000000000000000000000000000000 0000007C2ECC44 DAILY_SPLIT_REFUND_ADJ DAILY_SPLIT_REFUND_ADJ DAILY_SPLIT_REFUND_ADJ 121 00000000000000000003C4 000000000003C4 DAYANY_SPLIT_REFUND_ADJ 0 000000000000000000027131313131313A0
cobol - 畑のジャンク価値をなくすにはどうすればよいでしょうか?
たとえば、長さが可変の csv レコードがあります。
0005464560,45667759,ZAMTR,!ACC 12345678,DR,79.85 へ
0006786565,34567899,ZAMTR,!ACC 26575443,DR,1000 へ
これらの各フィールドを分離する必要があり、最後のフィールドはお金でなければなりません。
しかし、ファイルを読み取り、レコードをフィールドに紐付けを解除すると、最後のフィールドの末尾にジャンク値が含まれていることがわかりました。amount(money)欄は、先頭5桁、ドット1桁、末尾2桁の8文字である必要があります。入力からの値は、 13.5 、 1000 、 354.23 などの任意の値にすることができます。
表示から、値はかなり正常です: 345.23, 1000, しかし、フィールドをファイルに書き込んだ後、次のようになります:
79.85^M^@^@ 137.35^M^@
フィールド WS_AMOUNT_TXT から取得したフィールド WS_AMOUNT_NUM を調べたところ、^@ は一種の LOW-VALUE であることがわかりました。ただし、^M が何かを見つけることができません。これはスペースではなく、高値でもありません。
c++ - unsigned int と int の間で安全に static_cast するにはどうすればよいですか?
string
16 進数を表す8 文字があり、それをint
. この変換では、文字列"80000000"
以上のビット パターンを保持する必要があります。つまり、これらの数値は負になるはずです。残念ながら、素朴な解決策:
私のコンパイラでは動作しませんval > MAX_INT
(戻り値が 0 の場合)。val のタイプを に変更してint
も、大きい数値は 0 になります。SO に関するさまざまな回答からいくつかの異なるソリューションを試しましたが、まだ成功していません。
私が知っていることは次のとおりです。
- OpenVMS で HP の C++ コンパイラを使用しています (Itanium プロセッサを使用していると思います)。
sizeof(int)
私のコードが実行されるすべてのアーキテクチャで少なくとも 4 になります。- 数値 > INT_MAX から int へのキャストは実装定義です。私のマシンでは、通常は 0 になりますが、興味深いことに、値が大きすぎる場合にfrom
long
をキャストするとint
結果が返されます。INT_MAX
これを正しく行うのは驚くほど難しいか、少なくとも私にとってはそうでした。これに対するポータブルなソリューションを知っている人はいますか?
アップデート:
に変更static_cast
するreinterpret_cast
と、コンパイラ エラーが発生します。上記のコードでC スタイルのキャストを試すように促されたコメントreturn (int)val
で、うまくいきました。 このマシンで。 それは他のアーキテクチャでも安全ですか?
openvms - OpenVMSでのスクリプティングに苦労
私はOpenVMSでのスクリプト作成に非常に苦労しています。test.txtというファイルに特定の出力があります。例:
Linuxでスクリプトを作成しました。このスクリプトは、デバイス列の下にあるすべての情報(この場合はse0、s10、dn0)を取得するのに役立ちます。OPENVMSでも同様のことができますか
Linuxスクリプトは次のとおりです。スクリプト:
出力:
達成できるかどうか教えてください、よろしくお願いします
c - ファイルを高速に読み取る(stream_lf形式)
大きなテキストファイル(基本的にはcsv; stream_lf)の読み取りと処理を高速化する方法を探しています。
RMSをバイパスする必要がありますか?ソリューションは非同期または同期の場合があります。
現在の実装は同期的ですが、遅すぎます。
実装はHPPascalで行われ、pascalランタイムライブラリ(OPEN / READLN / EOF / CLOSE)を使用します。パスカルランタイムライブラリをバイパスすることは許容されます。
例としては、CまたはPascalがあります。
ssh - openvms の「OTHER」セッションで f$mode() を変更する
プログラム的に SSH を使用して openvms システムにログインし、サーバー上でリモート コマンドを発行したいと考えています。f$mode() は 'BATCH' であるため、Putty ではそれが可能ですが、私が使用した SSH ライブラリでは f$mode が 'OTHER' であり、login.com でエラーが発生します。
接続後に f$mode を変更できるコマンドを知っていますか? ホストに接続しているソフトウェアから login.com を適切に実行できるように、「OTHER」から「BATCH」に変更したいと思います。
code-generation - CLD ファイルに基づく CLI のコード ジェネレーター
CLI$ ルーチンを使用したプログラミングはそれほど難しくありませんが、CLD ファイルに基づいた基本的なもののコード ジェネレーターがあれば便利です。そういうものを持っている人、または興味を持っている人はいますか?
net-snmp - NET-SNMPをOpenVMSで設定するにはどうすればよいですか?
net-snmpのインストールを開始するのに問題があります。これまでのところ、Windows XPマシンにnet-snmpバージョン5.6.1.1のバイナリをインストールし、OpenVMSマシンにnet-snmpをインストールして、クライアントとしてWindowsマシンを作成し、ホストとしてWindowsマシンを作成しようとしています。
これをインストールするにはどうすればよいですか?(私はこれについてはまったくの初心者なので、私が得ることができるすべての助けが必要です...私が間違って見ているのでない限り、net-snmp wikiは私の質問に答えていないようです。:/)
よろしくお願いします。