创建一个利用2种不同ISA的程序

时间:2010-10-20 17:46:16

标签: c gcc

你好新人在这里(温柔),

我正在尝试编写一个包含浮点代码的程序。但是,该程序需要在2个不同的处理器上运行。除了浮点模型之外,它们具有大致相同的ISA。它们使用完全不同的指令和寄存器来进行浮点计算。让gcc为1个处理器的模型编译一段代码,为另一个处理器的模型编译另一部分是一种优雅的方法是什么?我已经有了一种确定代码当前运行的处理器的方法,所以我可以将它链接到内存中的相应代码。

一切都只在C中完成。好奇的是,我使用的是powerpc e500v2和e300核心。

这不是一个家庭作业问题,没有老师会因此而在互联网上感到不安。

1 个答案:

答案 0 :(得分:2)

使用不同的GCC选项构建两个不同的.o文件。

我假设您正在讨论兼容足以共享ELF文件的代码,例如x87 vs SSE2浮点,而不是x86和x86_64或ClearSpeed等奇怪的东西。