gpt4 book ai didi

c++ - 二进制文件和兼容性标准信息 - C++/JAVA

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:59:27 24 4
gpt4 key购买 nike

我正在阅读 Wikipedia article关于JAVA和C++的区别。一个区别是 C++ 提供了“多个二进制兼容性标准”。你能解释一下这意味着什么,或者暗示一个很好的引用。我有一个线索,这意味着“用”C++ 编写的二进制文件非常便携,可以在任何操作系统或环境中使用。我想得到确认和更精确。这是什么一回事呢?

如何生成二进制文件?是什么让它不便携?

感谢和问候。

最佳答案

int 到底是什么意思?当调用带有 2 个参数的函数时 - 你是将第一个参数放在堆栈的第一个还是最后一个?还是您在堆上有一个结构并指向它?您是否允许将未知数量的参数传递给函数?你如何对待字符串;阵列?您是在堆栈、堆上还是在私有(private)内存块中分配?您是否破坏函数名称(以允许重载)或将它们用作源代码中的输入?您是按 8 位、16 位还是 32 位边界对齐结构中的成员?

所有这些问题(以及更多)对一个二进制文件如何调用另一个二进制文件产生了很大的影响,而且大多数时候答案并不那么简单。

Java 在二进制布局的精确完成方式方面并没有提供太多(毕竟它是一个 VM),而 C++ 提供了极大的灵 active 来满足几乎所有可以想象的需求——因此它“提供了二进制兼容性标准",不像 Java(在你的例子中)

关于c++ - 二进制文件和兼容性标准信息 - C++/JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11490871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com