我需要为另一个处理器弧重新编译吗?
Do I need to recompile for another processor arc?
我试图以比所有os“编译器(做什么)是什么?”更详细的方式来理解整个“编译”主题。那里的文章。
我的一个大问题是直接编译为机器代码(例如 C)时处理器和 os 平台依赖性。我尝试提出需要解决的具体问题,以使我的画面更清晰:
我在 Linux 发行版上通过 gcc 编译我的 C 代码...:[=10=]
- 我可以 运行 在任何其他 Linux 发行版上生成可执行文件吗?
- 该可执行文件是否绑定了编译的处理器平台?我需要搜索另一个吗? power-pc gcc 当我运行宁一个 x86 发行版?
- 我能以某种方式在 windows 上执行吗?我知道可执行文件不同,但二进制代码是相同的,不是吗?
所以最后我的问题是:编译是针对特定 OS 平台、处理器平台还是两者?
谢谢!
编译目标、OS 和体系结构。
OS 需要定位,因为:
- "executable" 文件的格式因操作系统而异。
- 程序 调用 操作系统,甚至是一些常见的任务,如写入控制台、读取文件或干净地终止(像 POSIX 这样的标准减轻了 OS 通过在程序和 OS).
之间定义一个公共层来依赖
必须针对 CPU 体系结构,因为 CPU 指令是不同的,即使在 "same architecture" 的不同代中也是如此。
- Can I run the resulting executable on any other Linux Distribution?
一般来说,是,但在特定情况下,它可能取决于程序类型(f.i。GUI)和假定在 OS。
- Is that executable bound the the processor platform compiled on? Do I need to search for another e.g. power-pc gcc when I am running a x86 distro?
我不明白你"search"的意思,但是,是的,你可以交叉编译 来自,比如说,针对 PPC 的 x86。
- Can I somehow execute this on Windows? I know executables differ but the binary code is the same, isn't it?
这些天 Windows 有 Ubuntu 集成,这允许某种例外,但一般的答案是 否,因为以上.
我试图以比所有os“编译器(做什么)是什么?”更详细的方式来理解整个“编译”主题。那里的文章。
我的一个大问题是直接编译为机器代码(例如 C)时处理器和 os 平台依赖性。我尝试提出需要解决的具体问题,以使我的画面更清晰:
我在 Linux 发行版上通过 gcc 编译我的 C 代码...:[=10=]
- 我可以 运行 在任何其他 Linux 发行版上生成可执行文件吗?
- 该可执行文件是否绑定了编译的处理器平台?我需要搜索另一个吗? power-pc gcc 当我运行宁一个 x86 发行版?
- 我能以某种方式在 windows 上执行吗?我知道可执行文件不同,但二进制代码是相同的,不是吗?
所以最后我的问题是:编译是针对特定 OS 平台、处理器平台还是两者?
谢谢!
编译目标、OS 和体系结构。
OS 需要定位,因为:
- "executable" 文件的格式因操作系统而异。
- 程序 调用 操作系统,甚至是一些常见的任务,如写入控制台、读取文件或干净地终止(像 POSIX 这样的标准减轻了 OS 通过在程序和 OS). 之间定义一个公共层来依赖
必须针对 CPU 体系结构,因为 CPU 指令是不同的,即使在 "same architecture" 的不同代中也是如此。
- Can I run the resulting executable on any other Linux Distribution?
一般来说,是,但在特定情况下,它可能取决于程序类型(f.i。GUI)和假定在 OS。
- Is that executable bound the the processor platform compiled on? Do I need to search for another e.g. power-pc gcc when I am running a x86 distro?
我不明白你"search"的意思,但是,是的,你可以交叉编译 来自,比如说,针对 PPC 的 x86。
- Can I somehow execute this on Windows? I know executables differ but the binary code is the same, isn't it?
这些天 Windows 有 Ubuntu 集成,这允许某种例外,但一般的答案是 否,因为以上.