问题标签 [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
它是否为写入 sys$output创建了一个符号?
执行时是否p1
将参数传递给 .com 文件?它可以提供多少个参数?
''abc' 是否被符号 abc 的内容所取代?为什么是“abc”而不是“abc”?我们可以使用“”吗?
是什么.nes.
意思?平等的?我也看过.ne。, .eqs。也。他们有什么不同?
为什么“and”和“or”被两个点包围?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 000000007C2F72B8 DEC $ COBRTL 0 0000000000014764 000000007C2EC764 DEC $ COBRTL 0 0000000000014C44 000000007C2ECC44 DAILY_SPLIT_REFUND_ADJ DAILY_SPLIT_REFUND_ADJ DAILY_SPLIT_REFUND_ADJ 121 00000000000003C4 00000000000303C4 DAILY_SPLIT_REFUND_ADJ 0 00000000000313A0 00000000000313A0 0 FFFFFFFF80271EF4 FFFFFFFF80271EF4
cobol - 我们如何消除现场的垃圾价值?
我有一些长度可变的 csv 记录,例如:
0005464560,45667759,ZAMTR,!至 ACC 12345678,DR,79.85
0006786565,34567899,ZAMTR,!至 ACC 26575443,DR,1000
我需要分隔这些字段中的每一个,并且我需要最后一个字段应该是钱。
但是,当我读取文件并将记录解串成字段时,我发现最后一个字段在其自身末尾包含垃圾值。金额(金额)字段应为 8 个字符,前 5 位,1 点,末尾 2 位。输入的值可以是任何值,例如 13.5、1000 和 354.23。
从显示上看,数值比较正常:345.23, 1000,和原来的一样,但是我把字段写入文件后,变成了这样:
79.85^M^@^@ 137.35^M^@
我检查了字段 WS_AMOUNT_NUM,它来自字段 WS_AMOUNT_TXT,发现 ^@ 是一种 LOW-VALUE。但是,我找不到 ^M 是什么,它不是空格,也不是高值。
c++ - 如何在 unsigned int 和 int 之间安全地进行静态转换?
我有一个string
代表十六进制数字的 8 个字符,我需要将其转换为int
. 这种转换必须保留字符串"80000000"
和更高的位模式,即这些数字应该是负数。不幸的是,天真的解决方案:
val > MAX_INT
如果(返回值为 0)不适用于我的编译器。将 val 的类型更改为int
也会导致更大的数字为 0。我已经从这里的各种答案中尝试了几种不同的解决方案,但还没有成功。
以下是我所知道的:
- 我在 OpenVMS 上使用 HP 的 C++ 编译器(我相信使用的是安腾处理器)。
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。我们可以在 OPEN VMS 中做类似的事情吗
Linux 脚本如下: 脚本:
输出 :
能不能实现请告诉我,先谢谢了
c - 快速读取文件(stream_lf 格式)
寻找一种方法来加快读取和处理大型文本文件(基本上是 csv;stream_lf)。
我应该绕过 RMS 吗?解决方案可能是异步的或同步的。
当前的实现是同步的,但是太慢了。
在 HP Pascal 中实现,并使用 pascal 运行时库 (OPEN/READLN/EOF/CLOSE)。绕过 pascal 运行时库是可以接受的。
示例可能是 C 或 Pascal。
ssh - 在 openvms 的“其他”会话中更改 f$mode()
我想以编程方式使用 SSH 登录 openvms 系统,然后在服务器上发出远程命令。Putty 会让我这样做,因为 f$mode() 是“BATCH”,但是对于我使用过的任何 SSH 库,f$mode 是“OTHER”,这会在我的 login.com 中产生错误。
您知道连接后可用于更改 f$mode 的任何命令吗?我想将它从“OTHER”更改为“BATCH”,这样我就可以从连接到主机的软件正确执行我的 login.com。
code-generation - 基于 CLD 文件的 CLI 代码生成器
尽管使用 CLI$ 例程进行编程并不难,但如果有一个基于 CLD 文件的基本内容的代码生成器,那就太好了。有没有人有类似的东西,或者有人对此感兴趣吗?
net-snmp - 如何使用 OpenVMS 设置 NET-SNMP?
我在开始安装 net-snmp 时遇到了麻烦。到目前为止,我已经在我的 Windows XP 机器上安装了 net-snmp 版本 5.6.1.1 的二进制文件,并且我正在尝试在 OpenVMS 机器上安装 net-snmp,以使其作为我的客户端和 Windows 机器作为我的主机。
我该如何安装这个?(我在这方面完全是新手,所以我需要我能得到的所有帮助……net-snmp wiki 似乎没有回答我的问题,除非我看错了。:/)
非常感谢你。