我读到 Windows 和 Linux 的二进制文件是相同的(我不确定它是否有不同的格式)。
Linux 的二进制文件和 Windows 的二进制文件有什么区别(当谈到格式时)?
如果没有,是什么阻止我们为两个操作系统制作单个二进制文件(请确保我指的是可以运行的最后一个文件,而不是源代码)?
既然二进制格式存在差异,那么操作系统本身是如何编译的呢?
如果我没记错的话,微软使用 Windows 来编译下一个 Windows 版本/更新。
这些二进制文件如何由机器执行(甚至内核也是其中之一)?
它们的格式不一样吗?(对于这样一个低级的程序。)
我觉得这个问题可能有点蠢。。
由于我们存储位来指示数字,并且由于我们拥有整个 RAM,因此我们应该能够拥有一个无限大小(实际上是自定义大小)的数字,该数字可以占用整个 RAM(或其指定部分) )。
正确的?
例如,如果我们这样做:
mov ax, 0xFFFF
add ax, 1
jc custom_function ; if I remember correctly jc checks the carry flag
Run Code Online (Sandbox Code Playgroud)
custom_function 是一个标签/函数,它具有一种算法来设置下一个位以创建无限大小的数字。
问题
这可能吗?如果不是无限大小的数字,则指定自定义(比默认值更长或更短)
我怀疑,如果可能的话,它的性能会很差(即使数量更短)。你怎么认为?
你认为拥有这样的东西会很好吗?(也许在内存有限的旧系统或嵌入式系统中这会更有效?)