假设我正在用 Java 或 Python 或 C++ 编程解决一个简单的问题,可能是构建 TCP/UDP 回显服务器或阶乘计算。我是否需要关心架构细节,即它是 32 位还是 64 位?
恕我直言,除非我正在编程一些与相当低级的东西有关的东西,否则我不必担心它是 32 位还是 64 位。我哪里错了?还是我说得对???
对于大多数情况都是正确的
运行时/语言/编译器将抽象这些细节,除非您直接处理低级别的字大小或二进制文件。
甚至字节顺序也是由内核中的 NIC/网络堆栈抽象的。已为您翻译。当用 C 语言编写套接字时,有时在发送数据时必须处理网络的字节顺序……但这并不涉及 32 位或 64 位差异。
在处理二进制数据 blob 时,将它们从一种体系结构映射到另一种体系结构(例如作为 C 结构的覆盖)可能会导致其他人提到的问题,但这就是我们开发基于字符等的体系结构独立协议的原因。
事实上,像 Java 这样的东西是在虚拟机中运行的抽象机器又迈出了一步!
知道一点关于架构的指令集,以及语法是如何编译的,可以帮助您了解平台并编写更清晰、更紧凑的代码。我知道在学习编译器之后我会对一些旧的 C 代码做鬼脸!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)