gbr*_*ner 99 c mainframe ebcdic zos
我是一位非常有经验的 C 程序员,但最近我在大型机上遇到了一些具有局部变量的代码。这是在一个简单的 C 函数中声明此变量,然后strcpy将strcat两个字符串放入其中,然后尝试使用fopen.
char foo(|10|);
Run Code Online (Sandbox Code Playgroud)
这段代码很旧了。甚至可能是 K&R C 旧的。我想知道这是否是一些晦涩的编译器扩展或对没有 [] 或类似内容的键盘的适应。
有人知道这个声明是否“特殊”吗?
这是一个标准的 Z/OS 大型机。我不确定使用什么编译器。
Nat*_*dge 108
它似乎是有向字母的早期或非标准形式。该代码可能是使用EBCDIC而不是 ASCII 编写的,并且 EBCDIC 没有[ ]字符(至少不是在所有代码页中)。
我找到了SAS/C 的手册,这是一个显然适用于 System/370 的 C 编译器。在第 2-10 页(pdf 第 42 页)上,您可以看到它们(| |)列为[ ].
(虽然显然|也不在所有代码页中;但也许它在更常用的代码页中?我不知道。)
C99 还包含二字母(和三字母)来解决相同的问题,但它们用作<: :>二字母和??( ??)三字母。
| 归档时间: |
|
| 查看次数: |
4275 次 |
| 最近记录: |