付笑 发表于 2013-9-27 23:31:59

C语言的函数调用约定问题

在学windows编程的时候,第一个windows程序的主函数就用了一个调用约定
int WINAPI WinMain
(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)

这里WINAPI调用约定在函数名称的前面,我想问一下一般的c语言函数名前面是不是可以加一个调用约定啊

在C语言的教程里面都没有说过这个问题啊?求解一下

比如我定义这样一个c函数对吗

int__stdcallfun(int a,int b)
{
;
}

这样对不对啊?

565123 发表于 2013-9-27 23:32:00

对呀...还有__cdecl,__vectorcall和__fastcall,都是C或C++中全局函数的调用方法,而C++中类的方法只有一种调用方式__thiscall,有写或没写都可以。默认是采用__cdecl的调用方式,但是可以在编译器的编译参数中设置默认调用方式
/Gd 使用__cdecl
/Gr 使用 __fastcall
/Gz 使用__stdcall
/Gv 使用__vectorcall
(参数大小写一定要正确)

付笑 发表于 2013-9-28 09:11:35

565123 发表于 2013-9-28 00:12 static/image/common/back.gif
对呀...还有__cdecl,__vectorcall和__fastcall,都是C或C++中全局函数的调用方法,而C++中类的方法只有一种 ...

明白了,谢谢

玉宁417 发表于 2013-9-28 10:59:55

支持,学习了

565123 发表于 2013-9-28 14:42:44

可以选最佳吗?谢谢

小号4 发表于 2013-9-28 21:24:18

支持,学习了

付笑 发表于 2013-9-29 09:14:12

565123 发表于 2013-9-28 14:42 static/image/common/back.gif
可以选最佳吗?谢谢

忘记了,谢谢
页: [1]
查看完整版本: C语言的函数调用约定问题