2010-10-20 28 views
0

你好新人在這裏(溫柔),創建一個程序,它利用2個不同ISA

我試圖寫一個程序,它已經在它的浮點代碼。但是這個程序需要在兩個不同的處理器上運行。除了它們的浮點模型外,它們具有大致相同的ISA。他們使用完全不同的指令和寄存器來執行浮點計算。一個優雅的方式讓gcc編譯1個處理器模型的一段代碼,另一段處理另一個模型的代碼?我已經有了一個確定代碼當前運行在哪個處理器的方法,所以我可以讓它鏈接到內存中的相應代碼。

一切都只在C中完成。爲了好奇,我使用了powerpc e500v2和e300內核。

這不是一個家庭作業問題,沒有老師會在互聯網上對此感到不滿。

回答

2

使用不同的GCC選項構建兩個不同的.o文件。

我假設您正在討論的代碼足夠兼容共享ELF文件,例如x87與SSE2浮點,而不是x86和x86_64,或者像ClearSpeed這樣的奇怪東西。

相關問題