我想将 C++ 程序编译为中间代码。然后,我想用当前处理器的所有资源编译中间代码。
第一步是使用优化 (-O2) 编译 C++ 程序,运行链接器并完成大部分编译过程。此步骤必须独立于操作系统和体系结构。
第二步是针对当前计算机的操作系统和处理器编译第一步的结果,没有原始源代码,带有处理器的优化和特殊指令(-march=native)。第二步应该很快并且对软件的要求最低。
我可以做吗?怎么做?
编辑:
我想做,因为我想分发一个独立于平台的程序,它可以使用处理器的所有资源,没有原始源代码,而不是为每个平台和操作系统分发一个编译。如果第二步又快又容易,那就太好了。
相同架构的处理器可能具有不同的特性。X86 处理器可能有 SSE1、SSE2 或其他,它们可以是 32 位或 64 位。如果我为通用 X86 编译,它将缺少 SSE 优化。多年后,处理器将具有新功能,并且需要为新处理器编译程序。