簡體   English   中英

默認情況下,是否使用cdecl + fastcall約定編譯c ++成員函數?

[英]Are c++ member functions compiled with cdecl+fastcall convention, by default?

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

對於64位編譯,沒有cdecl + fastcall嗎? 只是AMD 64 ABI調用約定? 如果是這樣,如何在64位模式下在stdcall和cdecl之間進行延遲?

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

否。您從哪里得到這個主意的? 每個調用約定都不同,並且任何給定的函數一次只能使用一個調用約定。 不僅如此,快速fastcall還沒有標准化。 如果有的話,不同的32位編譯器會以不同的方式實現它,因此它不能用於可移植代碼。 cdeclstdcall是32位中唯一的標准可移植調用約定。

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

是。 在64位中只有一種通用調用約定。 在代碼中顯式使用的32位調用約定將被忽略。

如果是這樣,如何在64位模式下在stdcall和cdecl之間進行延遲?

你不知道 因為它們根本不存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM