随笔分类 -  函数与方法function&method

摘要:定义不定参数函数,要用到下面这些宏: va_start(ap, farg): 初始化一个va_list变量ap,farg是第一个形参 va_arg(ap, type): 获取(下)一个type类型的参数 va_end(ap): 结束使用ap C语言里编写不定参数函数的形式是这样的: #include 阅读全文
posted @ 2019-06-13 14:35 zzfx 阅读(1345) 评论(0) 推荐(0) 编辑
摘要:The convention of the function, indicated by the attribute. This is similar to the language-level @convention attribute, though SIL extends the set of 阅读全文
posted @ 2019-03-26 18:06 zzfx 阅读(345) 评论(0) 推荐(0) 编辑
摘要:一、函数的类型: 1、输入输出的映射形式; 2、定义了访问函数时的调用约定;cpu在访问函数是参量的布局形式; 3、相同函数类型的变量可以相互赋值; 函数作为类型是函数式编程的基石; 二、函数的变量: 定义函数类型-》定义变量-》给 变量赋值; 常见形式: 常指针变量:函数类型 = 函数实现; 函数 阅读全文
posted @ 2019-03-25 21:27 zzfx 阅读(646) 评论(0) 推荐(0) 编辑
摘要:所谓的函数只不过是符合函数调用约定格式的一段程序指令而已。 与可执行文件的格式、文本格式、图片格式,在结构和格式的抽象级别上没有本质差别。 阅读全文
posted @ 2019-03-17 11:52 zzfx 阅读(172) 评论(0) 推荐(0) 编辑
摘要:函数的绑定 动态绑定的特征:参量中包含接口类型或继承类型的父类型: 参量中没有抽象类型或继承类型的函数是静态绑定的。 动态函数的调用,包含两个步骤:1、查找(绑定);2、调用; 函数动态绑定的支持: 1、编译器支持:虚函数表机制;编译器插入代码; 2、运行时支持:oc的派发机制;运行时插入代码; 阅读全文
posted @ 2019-03-15 19:38 zzfx 阅读(133) 评论(0) 推荐(0) 编辑
摘要:函数是一段代码,通过名字来进行调用。它能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。 所有传递给函数的数据都是显式传递的。 方法也是一段代码,通过一个与对象相关联的名字来进行调用。方法和函数大致上是相同的,但有两个主要的不同之处: A function is a 阅读全文
posted @ 2019-03-15 18:39 zzfx 阅读(592) 评论(0) 推荐(0) 编辑
摘要:一、多态的本质 多态的本质:同一函数接口在接受不同的类型参量时表现出不同的行为: 不同对象能够调用同一接口,是因为它们含有统一的抽象纬度:接口; 同一函数能够接受不同对象的调用,是因为函数的参量是一个抽象类型(接口); 环境变量(主体类型)作为接口函数的特殊输入对接口的实现起着决定性的作用; 同一个 阅读全文
posted @ 2019-03-14 17:40 zzfx 阅读(357) 评论(0) 推荐(0) 编辑
摘要:类型与算法是绑定的,绑定的方式有以下几种: 1、类型定义时直接绑定; 2、扩展绑定; 3、继承绑定; 4、全局函数绑定; 阅读全文
posted @ 2019-03-13 17:45 zzfx 阅读(357) 评论(0) 推荐(0) 编辑
摘要:面向过程编程的致命缺陷是算法与算法的结合方式过于单一, 是数据与算法的结合方式不支持扩展和修改,硬编码; 面向对象和函数式编程都是对这一缺陷的改进。 结合方式过于单一,并且存在硬绑定问题。 阅读全文
posted @ 2018-10-31 17:25 zzfx 阅读(274) 评论(0) 推荐(0) 编辑
摘要:函数签名-调用约定-函数调用栈: 函数名、参量、返回值等信息的汇总; 密切相关 阅读全文
posted @ 2018-01-30 12:14 zzfx 阅读(187) 评论(0) 推荐(0) 编辑
摘要:1)函数调用栈的构建与销毁; 2)函数调用栈的要素:(1)局部变量;2)调用参数;(3)返回地址、(4)寄存器保存; 阅读全文
posted @ 2018-01-24 16:31 zzfx 阅读(163) 评论(0) 推荐(0) 编辑
摘要:In computer science, a calling convention is an implementation-level (low-level) scheme for how subroutines receive parameters from their caller and h 阅读全文
posted @ 2018-01-24 16:20 zzfx 阅读(245) 评论(0) 推荐(0) 编辑
摘要:本质:将成员函数与对象数据进行剥离。 从编程语言的角度看,面向对象是将数据和对数据的操作进行了绑定; 调用对象成员函数,本质是对对象的数据进行操作;对象作为缺省参数传进成员函数,从而完成操作。 从面向对象转化成面向结构编程,需要对成员函数和对象数据进行解绑; 将对象以显式参量的形式传进转换后的函数, 阅读全文
posted @ 2018-01-19 15:40 zzfx 阅读(567) 评论(0) 推荐(0) 编辑
摘要:调用约定: __cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。 1、__stdcall调用约定:函数的参数自右向左通过栈传递 阅读全文
posted @ 2018-01-19 15:26 zzfx 阅读(454) 评论(0) 推荐(0) 编辑
摘要:函数调用约定描述了如何以正确的方式调用某些特定类型的函数。包括了函数参数在栈上的分配顺序、有哪些参数将通过寄存器传入,以及在函数返回时函数栈的回收方式等。 函数调用约定的几种类型 stdcall,cdecl,fastcall,thiscall,nakedcall,pascal stdcall调用约定 阅读全文
posted @ 2018-01-19 15:23 zzfx 阅读(1051) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/weiwangchao_/article/details/7165467 约在20世纪70年代以前,编译器编译源代码产生目标文件时,符号名与相应的变量和函数的名字是一样的。比如一个汇编源代码里面包含了一个函数foo,那么汇编器将它编译成目标文件以后,foo在 阅读全文
posted @ 2017-02-15 11:12 zzfx 阅读(302) 评论(0) 推荐(0) 编辑