gpt4 book ai didi

java - 是否必须了解机器体系结构才能编写代码?

转载 作者:太空狗 更新时间:2023-10-29 22:00:07 26 4
gpt4 key购买 nike

假设我正在用 Java、Python 或 C++ 编程来解决一个简单的问题,可能是构建 TCP/UDP 回显服务器或计算阶乘。我是否需要考虑架构细节,即它是 32 位还是 64 位?

恕我直言,除非我正在编写一些与相当低级的东西有关的东西,否则我不必担心它是 32 位还是 64 位。我哪里错了?或者我是对的???

最佳答案

在大多数情况下都是正确的

运行时/语言/编译器将提取这些细节,除非您在低级别直接处理字长或二进制。

甚至字节顺序也是由内核中的 NIC/网络堆栈抽象出来的。它是为你翻译的。在用 C 编写套接字时,有时您确实需要在发送数据时处理网络的字节顺序……但这与 32 位或 64 位差异无关。

当处理二进制数据 block 时,将它们从一种架构映射到另一种架构(例如覆盖到 C 结构)可能会导致其他人提到的问题,但这就是我们开发基于字符和架构独立协议(protocol)的原因等等。

事实上,像 Java 这样的东西在虚拟机中运行,将机器抽象化又一步!

稍微了解架构的指令集,以及语法是如何编译成这些的,可以帮助您了解平台并编写更清晰、更紧凑的代码。我知道在学习了编译器之后,我对一些旧的 C 代码做了个鬼脸!

关于java - 是否必须了解机器体系结构才能编写代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1046068/

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