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

C语言中,用PASCAL修饰符说明的函数与普通函数有什么不同?

发布网友 发布时间:2022-09-17 07:35

我来回答

1个回答

热心网友 时间:2023-10-15 18:30

对于普通的C函数,参数是自右至左传递的,而根据PASCAL调用约定,参数是自左至右传递的。下例是一个普通的C函数:
int regular_func(int,char*,long);
根据普通C函数的调用约定,函数参数入栈时的顺序为自右至左,因此,在调用regular()函数时,其参数的入栈顺序如下所示:longchar·int当regular_func()函数返回时,调用regular_func()函数的函数负责恢复栈。
下例是一个用PASCAL修饰符说明的函数:
int PASCAL pascal_func(int,char *,long);
根据PASCAL调用约定,函数参数入栈时的顺序为自左至右,因此,在调用‘pascal—func()函数时,其参数的入栈顺序如下所示:intchar *long当pascal_func()函数返回时,调用pascal_func()函数的函数负责恢复栈指针。
采用PASCAL调用约定的函数比普通C函数的效率要高一些——前者的函数调用要稍快一些。MicrosoftWindows就是一个采用PASCAL调用约定的操作环境的例子,WindowsSDK中有数百个用PASCAL修饰符说明的函数。
当Windows的第一个版本于80年代末期编写成功时,使用PASCAL修饰符能明显提高程序的执行速度。现在,计算机的运行速度已经相当快,PASCAL修饰符对程序运行速度的作用已经很小了。事实上,Microsoft在其WindowsNT操作系统中已经放弃了PASCAL调用约定。
在大多数情况下,采用PASCAL调用约定对程序的运行速度几乎没有明显的作用,因此,采用普通C函数的调用约定完全能满足编程要求。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
荣耀v20杀后台严重? 聊天时哪些回复让人感觉不舒服? 货物运输保险案例分析 卞和泣玉注释 求解,卞和泣玉没学过,在线等解。 葛加走之底读什么 在等腰三角形ABC中,AB=AC=5,BC=6,求角B的三角函数值 ...人开走一架战斗机,在一架客机下面飞,好几个飞机来拦截, ...话是三架飞机 机型各不同 在山区飞行发现恐怖分子用驴车运核弹 用AK... ...的成为战斗机飞行员。战争结束回国继续抢银 牛肉哥因为什么事进的监狱 C语言中的类型修饰符的区别?! 绣球花四季养护技巧 c语言中,输出语句中在%与格式字符之间如何使用多个修饰符 C语言中,这个前缀修饰符的作用是什么呀? 耐克metcon7有假的吗 耐克metcon7适合做什么 张彬彬跟景甜私下约饭,饭后等景甜一起出门,送她上车超贴心,你怎么看? 快乐大本营景甜张彬彬4月10日晚上几点播出? 在c语言里,%-81d,%-081d,%081d,%+081d所表示出的形式有什么区别啊 请教一下,C语言中格式修饰符,格式转换符,格式修饰符分别指什么 最好最彻底的除草方法 C++的修饰符 c语言printf()修饰符怎么用,求大神举个例子 哪里可以DIY定制T恤,队服,卫衣,卫裤。帮人制作logo的?急急急!!! diy服装,做一件衣服,如卫衣,需要购买那些原料,质量会比阿迪达斯的好吗? 谁知道团购diy卫衣在哪里买合适? 用C语言编程 修饰符起到什么作用? 我爸爸妈妈给我买了百万医疗,我还可以买沪惠保吗? 保正续保6年,上海质子重离子百分之百报销的百万医疗险有哪些? 为什么香港的房屋很多没有阳台? 高层(24层)为什么没有阳台,都这样吗 调高招商银行信用卡额度 牛皮纸好还是道林纸好 安食六和老豆腐牛肉拉面卫生情况怎么样? 宁夏哪的牛肉拉面更正宗? 天气冷了,为什么孩子更爱尿裤子? 牛皮纸和道林纸,画铅笔画和彩铅画怎么样? 在微信上怎样建群组 手机微信应该怎么建群 【山献】这个字怎么才能在电脑上打出来 ?就要这样的 不要【巘】这样的 巘 这个字叫什么? 西江是哪个省的 出生名字五行分析测试,名字测五行 “排忧解难”是一对近义词.(对还是错 成语:排忧解患 邮政投递员给据邮件漏下段怎么核查 spring配置为什么使用<aop:config>报错 spring <aop:config>是什么意思 aop:config 中的expression是什么意思? 比如下图