由 C 编译器在 Z/OS 上生成的可执行代码是否在 IBM z/Linux 平台上可执行?

问题描述

在 IBM 环境中,存在混合 C/Assembler 编译器调用 Metal C,它允许 C 源程序与 Assembler 源程序混合并编译为可执行文件

我的问题是,暂时忽略生成的可执行文件可能具有的所有外部链接引用,组合的 C/Assembler 可执行文件能否在 z/Linux 平台上运行,它只是机器指令,对吗?

解决方法

底层操作系统及其相关调用堆栈决定了兼容性。 z/OS 使用与 Linux 根本不同的特定调用约定、系统调用和库。因此它们不是二进制兼容的。

也就是说,如果您使用的语言在两个平台上都可用,那么您可以简单地重新编译和“移植”您的应用程序。