C/C++学习笔记:你应该学会这五种调用C/C++函数的方式

 2024-03-13 05:05:43  阅读 0

int(int a, int b);4.

调用方法是唯一不能显式指定的修饰符。 它是C++类成员函数的默认调用方法。 由于成员函数调用也有一个this指针,所以必须使用这种特殊的调用方法。

打电话的意思是:

参数从右到左压入堆栈。

如果参数个数确定,则通过ecx将this指针传递给被调用者; 如果参数个数不确定,则在所有参数入栈后,再将this指针入栈。

如果参数的数量是可变的,调用者将清除堆栈,否则函数将自行清除堆栈。

可以看出,当参数个数固定时,与cdecl类似,当参数个数不规则时,与cdecl类似。

计算机函数参数表示的各种方法_函数计算机参数方法表示为_计算机中函数参数是指什么

5.裸电话

这是一种比较少见的调用方式,在高级编程语言中并不常见。

函数声明的调用方式必须与实际的调用方式一致,否则编译器难免会造成混乱。

函数名称修改规则:

1、C编译时函数名修改的常规规则:

调用约定在输出函数名称前添加下划线,后跟“@”符号及其参数的字节数,格式为@8。

调用约定只是在格式中在输出函数名称前添加下划线前缀。

调用约定在输出函数名前添加“@”符号,后跟“@”符号及其参数的字节数,格式为@@8。

它们都没有改变输出函数名称中字符的大小写,这与调用约定不同,调用约定同意输出函数名称不被修改并且全部大写。

2、C++编译时函数名修改约定规则:

调用约定:

(1) 使用“?” 识别函数名的开头,后面是函数名;

(2)函数名后跟“@@YG”标识参数列表的开始,后面跟参数列表;

(3)参数表用代码表示:

X--无效,

D--字符,

E--字符,

F——短,

暗示,

我--int,

J--长,

K--长,

M——浮动,

N--,

_N--布尔,

....

PA——表示指针,下面的代码表示指针类型。 如果同一类型的指针连续出现,则用“0”代替,一个“0”代表重复;

(4)参数表中第一项是函数的返回值类型,后面是参数的数据类型,指针所指的数据类型之前标注;

(5) 参数列表后,“@Z”标志着整个名称的结束。 如果函数没有参数,则以“Z”结尾。

其格式为“?@@YG*****@Z”或“?@@YG*XZ”,例如:

int Test1 (char *var1, long)-----"?Test1@@@Z"

void Test2() -----"?Test2@@YGXXZ"

调用约定:

规则与上面的调用约定相同,只是参数表的起始标识由上面的“@@YG”改为“@@YA”。

调用约定:

规则与上面的调用约定相同,只是参数表的起始标识由上面的“@@YG”改为“@@YI”。

VC++默认的函数声明是“”,只能由C/C++调用。

今天的分享就到此为止。 如果您有任何疑问,请指出。

计算机中函数参数是指什么_计算机函数参数表示的各种方法_函数计算机参数方法表示为

最后,如果你也想成为一名程序员,想要快速掌握编程,就加入学习企鹅圈吧!

有资深专业软件开发工程师在线解答您的所有疑问~

编程学习书籍:

计算机中函数参数是指什么_函数计算机参数方法表示为_计算机函数参数表示的各种方法

编程学习视频:

标签: 函数调用 c++ 指针

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码