问题描述
在 IBM 环境中,存在混合 C/Assembler 编译器调用 Metal C,它允许 C 源程序与 Assembler 源程序混合并编译为可执行文件。
我的问题是,暂时忽略生成的可执行文件可能具有的所有外部链接引用,组合的 C/Assembler 可执行文件能否在 z/Linux 平台上运行,它只是机器指令,对吗?
解决方法
底层操作系统及其相关调用堆栈决定了兼容性。 z/OS 使用与 Linux 根本不同的特定调用约定、系统调用和库。因此它们不是二进制兼容的。
也就是说,如果您使用的语言在两个平台上都可用,那么您可以简单地重新编译和“移植”您的应用程序。