我尝试以比所有“什么是编译器(正在做什么)?”更详细的方式理解整个“编译”主题。那里的文章。
对我来说,一个大问题是直接编译机器代码(例如C)时的处理器和os平台依赖性。我试图制定需要解决的具体问题,以使我的图片更清晰:
我在Linux发行版上通过gcc编译我的C代码......:
所以最后我的问题的目标是:是否针对特定的操作系统平台,处理器平台或两者进行编译?
谢谢!
编译目标,OS和架构。
操作系统需要成为目标,因为:
必须针对CPU架构,因为CPU指令是不同的,即使在“相同架构”的不同代之间也是如此。
- 我可以在任何其他Linux发行版上运行生成的可执行文件吗
通常,是的,但在特定情况下,它可能取决于程序类型(f.i. GUI)和OS上可用的服务。
- 该可执行文件是否绑定了编译的处理器平台?我是否需要搜索另一个例如当我运行x86发行版时,power-pc gcc?
我不明白你的意思是“搜索”,但是,是的,你可以从x86目标PPC进行交叉编译。
- 我可以在Windows上以某种方式执行此操作吗?我知道可执行文件不同但二进制代码是相同的,不是吗?
这些天Windows有Ubuntu集成,并允许某种异常,但一般的答案是否,因为上述。