簡體   English   中英

為什么gcc會忽略__attribute __((stdcall))?

[英]Why does gcc ignore __attribute__((stdcall))?

當我用gcc版本8.1.1編譯以下C源代碼時,我收到一個warning: 'stdcall' attribute ignored [-Wattributes]

為什么gcc選擇忽略這個屬性,我該怎么做才能讓它接受呢?

__attribute__((stdcall)) int S(int a) {
    return a * (a+1);
}

int main() {
    return S(6);
}

gcc文檔說:

stdcall

在x86-32目標上stdcall屬性使編譯器假定被調用函數彈出用於傳遞參數的堆棧空間,除非它采用可變數量的參數。

(強調我的。)

因此,如果您不編譯32位計算機,則無法使用stdcall

暫無
暫無

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

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