2016-09-27 64 views

回答

4

這兩個約定在x86編譯模式下一起使用?

不,你從哪裏得到這個想法?每個調用約定都是不同的,任何給定的函數一次只能使用一個調用約定。不僅如此,而且fastcall不是標準化的。不同的32位編譯器實現它的方式不同,因此它不能用於便攜式代碼。 32bit中唯一的標準便攜式呼叫約定是cdeclstdcall

而對於64位編譯,沒有cdecl + fastcall的權利?只是AMD 64 ABI調用約定?

是的。 64bit中只有一個通用調用約定。在代碼中明確使用的32位調用約定被忽略。

如果是這樣,如何推遲64位模式下的stdcall和cdecl之間?

你不知道。因爲它們不存在於al。

相關問題