2013-08-04 154 views
0

我有一個庫編譯爲64位,並與它對齊。64位庫,應該與32位和64位進程工作

問題是,這個庫也應該與32位進程一起工作(現在它只會與64位進程鏈接),並且也應該對齊到32位。

有沒有辦法讓它對齊到32位和64位?

+4

簡短回答:沒有。 – Mat

+0

對齊如何?我可以將庫對齊到32位和64位嗎? – user1120875

+0

即使有可能,這也是毫無意義的。 – Mat

回答

2

基本上沒有,沒有沒有重新編譯。

以64位編譯的DLL僅使用64位模式下的CPU功能(額外指令/附加寄存器/ ...),這意味着32位模式下的CPU無法執行代碼。

+0

對齊如何?我可以將庫對齊到32位和64位嗎? – user1120875

1

有一種叫FatELF ......但我不知道它走了多遠。基本上在一個可執行文件/庫中,你放置了多個版本的程序(一個用於32位,一個用於64位,一個用於Arm,...)(該技術被稱爲Fat binary

很遺憾,我認爲它已經死了...最後一次提交到他們的倉庫是Thu,22 Nov 2012 12:39:53 -0500 ...

+0

對齊如何?我可以將庫對齊到32位和64位嗎? – user1120875