1樓:
如果不指定函式模式。
vc 預設是 _cdecl,(引數出棧由呼叫者完成)。為了標準化相容。匯出、api,都必須定義成_stdcall(或者_pascal,winapi)。
2樓:皇家救星
#define winapi __stdcall具體來說,他們是關於堆疊的一些說明,首先是函式引數壓棧順序,其次是壓入堆疊的內容由誰來清除,呼叫者還是函式自己?
stdcall的呼叫約定意味著:
1)引數從右向左壓入堆疊;
2)函式自身修改堆疊;
3)函式名自動加前導的下劃線,後面緊跟一個@符號,其後緊跟著引數的尺寸。
不是vc特殊的語法
3樓:l**ender瑤
是取得winmain的入口函式了 這個應該是啟用winapi
關於vc++的winmain函式(winapi是什麼?)
4樓:匿名使用者
其實那是程式進入點:
正如在c程式中的進入點是函式main一樣,windows程式的進入點是winmain,總是像這樣出現:
int winapi winmain ( hinstance hinstance,hinstance hprevinstance, lpstr szcmdline,int icmdshow)
它在winbase.h中宣告如下:
int winapi
winmain(
hinstance hinstance,
hinstance hprevinstance,
lpstr lpcmdline,
int nshowcmd
);winmain函式宣告為返回一個int值。winapi識別符號在windef.h定義,語句如下:
#define winapi __stdcall
該語句指定了一個呼叫約定,包括如何生產機械碼以在堆疊中放置函式呼叫的引數。許多windows函式呼叫宣告為winapi。
winmain的第一個引數被稱作「執行實體控制代碼」。在windows程式設計中,控制代碼僅是一個應用程式用來識別某些東西的數字。在這種情況下,該控制代碼唯一地標識該程式,還需要它在其它windows函式呼叫中作為引數。
在windows的早期版本中,當同時執行同一程式多次時,您便建立了該程式的「多個執行實體(multiple instances)」。同一應用程式的所有執行實體共享程式和只讀的記憶體(通常是例如選單和對話方塊模板的資源)。程式通過檢查hprevinstance引數就能夠確定自身的其它執行實體是否正在執行。
然後它可以略過一些繁雜的工作並從前面的執行實體將某些資料移到自己的資料區域。
在32位windows版本中,該概念已被拋棄。傳給winmain的第二個引數總是null(定義為0)。
winmain的第三個引數是用於執行程式的命令列。某些windows應用程式利用它在程式啟動時將檔案載入記憶體。winmain的第四個引數指出程式最初顯示的方式,可以是正常的或者是最大化地充滿整個畫面,或者是最小化顯示在工作列中
5樓:
winmain是win32專案,控制檯的c程式繼續使用 void main(void).
6樓:匿名使用者
_stdcall是pascal程式的預設呼叫方式,通常用於win32 api中,函式採用從右到左的壓棧方式,自己在退出時清空堆疊。vc將函式編譯後會在函式名前面加上下劃線字首,在函式名後加上"@"和引數的位元組數。
7樓:皇家救星
是一個巨集
#define winapi __stdcall具體來說,他們是關於堆疊的一些說明,首先是函式引數壓棧順序,其次是壓入堆疊的內容由誰來清除,呼叫者還是函式自己?
stdcall的呼叫約定意味著:
1)引數從右向左壓入堆疊;
2)函式自身修改堆疊;
3)函式名自動加前導的下劃線,後面緊跟一個@符號,其後緊跟著引數的尺寸。
main和winmain的區別
8樓:潘達
winmain是windows系統應用程式的入口,他是應用程式程序的主執行緒,要建立一個程序,並且在windows環境下執行必須用winmain作為入口,而且必須是windows定義的格式寫。。。。
而main()作為程式入口,有的執行環境用有的執行環境不用,控制檯程式用main,虛擬機器程式,比如c#就用main()。。。。。
有些應用軟體winmain函式被封裝了,改用main()函式,但他外層有winmain,winmain是windows唯一識別的應用程式入口,哪怕你用的是main,但歸結的底層入口還是winmain,比如虛擬機器表面上用main,但他和系統互動還是用的winmain建立入口。。。。
winmain只要能使用windowsapi的軟體都支援,但用main就未必了。。。。。
關於c/c++函式的返回值 int winapi winmain(引數列表),int winapi 是一個返回值嗎?求高手解釋
9樓:匿名使用者
winapi不是返回值
int winapi winmain函式宣告為返回一個int值。
winapi識別符號在windef.h定義,語句如下:
#define winapi __stdcall該語句指定了一個呼叫約定,包括如何生產機械碼以在堆疊中放置函式呼叫的引數。許多windows函式呼叫宣告為winapi。
10樓:匿名使用者
大寫英文字母看起來有點 暈坨坨的~!
11樓:匿名使用者
上面的回答非常準確 要是你不採納就可惜了。。
不什麼不什麼的成語是什麼不什麼不什麼的成語有哪些?
一 不撓不屈 b n o b q 1.解釋 比喻在壓力和麵前不屈服,表現十分頑強。2.出自 清 陳天華 論中國宜改創民主政體 吾民族以不撓不屈之氣概,與外族戰,與土番戰,與寒暑戰,卒能斬荊披棘。3.示例 為真理鬥到盡頭!郭沫若 屈原 第一幕 二 不慌不忙 b hu ng b m ng 1.解釋 不慌...
不什麼一什麼成語,「不什麼不什麼」的成語是什麼?
成語 不易一字 拼音 b y y z 解釋 不更動一個字。形容文章寫得又快又好。出處 新唐書 王勃傳 及寤援筆成篇,不易一字。成語 不值一哂 拼音 b zh y sh n 解釋 哂 微笑。不值得一笑。比喻毫無價值。也表示對某種事物或行為的輕蔑和譏笑。成語 不拔一毛 拼音 b b y m o 解釋 比...
愛不是放任是什麼意思,愛不覺累是什麼意思
愛不是放任 是因為愛是一種責任。愛一個人是要給對方快樂與幸福的。並不是簡簡單單的一句話 我愛你。然後啥都不幹。只說話的人那並不是愛 不過是放個嘴炮而已。愛不覺累是什麼意思 就是說真心愛一個人是不會感覺累的啊 愛一個人即使累了,也不覺得,也值得。就是愛一個人不覺得 累。覺得自己已經累了,沒有力氣再愛下...