问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言几种调用分别是什么?为什么他们速度不一样??

发布网友 发布时间:2022-05-10 10:43

我来回答

3个回答

热心网友 时间:2023-10-05 12:39

_cdecl 是C Declaration的缩写,表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数无需要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。

_stdcall 是Standard Call的缩写,是C++的标准调用方式:所有参数从右到左依次入栈,如果是调用类成员的话,最后一个入栈的是this指针。这些堆栈中的参数由被调用的函数在返回后清除,使用的指令是 retn X,X表示参数占用的字节数,CPU在ret之后自动弹出X个字节的堆栈空间。称为自动清栈。函数在编译的时候就必须确定参数个数,并且调用者必须严格的控制参数的生成,不能多,不能少,否则返回后会出错。

PASCAL 是Pascal语言的函数调用方式,也可以在C/C++中使用,参数压栈顺序与前两者相反。返回时的清栈方式忘记了。。。

_fastcall 是编译器指定的快速调用方式。由于大多数的函数参数个数很少,使用堆栈传递比较费时。因此_fastcall通常规定将前两个(或若干个)参数由寄存器传递,其余参数还是通过堆栈传递。不同编译器编译的程序规定的寄存器不同。返回方式和_stdcall相当。

_thiscall 是为了解决类成员调用中this指针传递而规定的。_thiscall要求把this指针放在特定寄存器中,该寄存器由编译器决定。VC使用ecx,Borland的C++编译器使用eax。返回方式和_stdcall相当。

_fastcall 和 _thiscall涉及的寄存器由编译器决定,因此不能用作跨编译器的接口。所以Windows上的COM对象接口都定义为_stdcall调用方式。

确实是复制的!希望对你有所帮助!只是忘记了原出处了!

热心网友 时间:2023-10-05 12:40

c语言对于函数有传值调用和引用调用两种方法,传值调用相当与是将值给复制过去了,而引用调用调用的是地址,至于速度吗,在c语言里,我觉得在宏里面的调用速度是比在函数里面的调用速度是要快的,因为宏的调用是在函数的编译完成之后就已经完成了,而函数的调用是要在编译之后,程序执行的时候才能够进行的。我知道的也就这些了把。

热心网友 时间:2023-10-05 12:40

1,系统调用,耗费时间长,判断机制很复杂(对应的汇编代码很多)
2,内部函数调用,相对时间短,判断机制比较少,只是按照需求判断(对应的汇编代码少)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么网页突然自动关闭 网页为什么会突然自动关闭 网页自动关闭什么原因 怎么在微信里面自己组建群聊 门开在东南角,北面中间有窗,办公桌如何摆放 请推荐一款app导航系统,地图信息准确,界面友好,主要用于在境外... 急求一款app导航系统,地图信息准确,界面别太多杂乱的东西,主要用在境外... 欠了闪银3600,逾期125天,今天算了下,差不多要还6000,不还会怎么样?_百 ... 怎么进出口货物老被查验,难道被盯上了?海关是如何查验的,海关查验... 来料加工海关会查什么 外贸知识:海关查验详解 什么是闭包(closure),为什么要用它? 手表后盖打不开 欧米茄机械表后盖九点钟边缘有一段缝隙,这是正常的吗? 汕头正规医院做全面部脂肪填充要多少钱? 四川时述党 面部脂肪填充多少钱? 做一个开眼角和脸部填充大概多少钱呢? 烟台面部填充多少钱??? 重庆当代整形医院面部填充脂肪做的好吗怎么样费用多少钱呢? 最近总是受到建设银行发来的短信,说是“尾号为xxxxx的的储蓄卡支出了现金多少,剩余多少”,但是我根本就 请问什么叫做闭包? 建行储蓄卡收到短信备用金收入XXX元是什么意思 信息上发的你在建设银行备用金698000是什么意思 为什么连续几天太阳能控制器显示温度都在20度?按加热键水温上一不去 太阳能热水器控制器上一直都在加热,但是温度一直都在三十几度,这是 太阳能板到控制器的电线发热正常吗?有否问题,能继续用吗? 太阳能光伏板控制器烫手还能继续充电吗 什么是闭包? 谁玩过Zumba Fitness(尊巴瘦身)这个舞蹈游戏?感觉如何? VIVO那款手机微信视频带美颜??? 鄂尔多斯市泰华锦江国际大酒店有限公司怎么样? c语言函数的调用就好比一个顺序结构语句把?根本不需要call之类的关键词把? 开发中常说的函数调用指的是什么呢? 下面函数的两种调用方式的区别是什么? 康华保险柜如何修改密码 呵呵,问一个c语言里有关函数调用的一般形式的问题。答对了奖十分。 C语言:为什么第一个函数是传址调用第二个函数是传值调用?并没有看出它们的调用方式有哪些区别 使用Function语句定义一个函数过程,其返回值的类型是 函数调用的方式+打印1-50中n的倍数 请高手来说一下这2种函数调用有什么不同?(C语言) 赤练是什么意思? 赤练是谁 赤练(韩非的妹妹---红莲公主)为什么要杀了她的师傅? 赤练仙子是什么意思 《秦时明月》中的赤练到底是一个什么样的女人?她爱谁?她坏吗?请详细说。谢谢! 赤炼之子是什么意思 赤炼鱼竿的赤炼是什么意思? 秦时明月赤练接应卫庄时,给卫庄的镜头是什么意思 粽香润涩端午节,赤炼通济筑清携。是什么意思? “红莲公主”赤练为什么会爱上冷酷无情的卫庄? 你喜欢秦时明月之天行九歌里面的卫庄和赤炼吗?