随笔分类 -  编程基础

摘要:int global_int_var = 84; int global_unint_var; void func1(int i){ printf("%d\n",i); } int main(void){ static int static_var = 85; static int static_va 阅读全文
posted @ 2023-07-25 10:16 zzfx 阅读(12) 评论(0) 推荐(0) 编辑
摘要:可见,函数的返回值为结构体类型,其返回值既不是“值传递”也不是通过“寄存器”回传。编译器在编译此类函数时,为其附加了一个指针参数(指向的地址在caller的堆栈上),且作为函数的第一个参数(函数本身的参数依次后移),函数语义上的返回值通过该附加的指针参数回传,而函数真正的返回值就是该指针。 ———— 阅读全文
posted @ 2020-03-19 22:03 zzfx 阅读(3603) 评论(0) 推荐(0) 编辑
摘要:函数的返回值保存在内存的什么区域呢? 1、结构体大小不超过4字节,那么仍然使用EAX寄存器传递返回值2.结构体超过4字节但不等于8字节时,调用者将首先在栈上分配一块能容纳结构体的临时内存块,然后在传递完函数参数后将该临时内存块的首地址作为隐含的第一个参数最后(因为压栈顺序是从右到左)压栈,接下的动作 阅读全文
posted @ 2020-03-19 21:38 zzfx 阅读(1790) 评论(0) 推荐(0) 编辑
摘要:Oc的异常触发 异常是语言库、接口层面的错误; 信号时系统内核的错误; 作者:匿名用户链接:https://www.zhihu.com/question/20175801/answer/14225549来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 既然提问者已经补充 阅读全文
posted @ 2020-03-19 16:38 zzfx 阅读(773) 评论(0) 推荐(0) 编辑
摘要:栈帧只是保存计算上下文的数据结构 重要的要素 1、参量s 2、返回地址(调用函数的下一条指令); 3、调用者的ebp; 4、局部变量; 寄存器: ebp:保存当前栈帧的基址,计算完成时,将这个以后的变量全部弹出; esp 计算完成后的回退操作: 1、将计算结果保存到寄存器; 2、将指令寄存器赋值为保 阅读全文
posted @ 2020-03-19 16:32 zzfx 阅读(260) 评论(0) 推荐(0) 编辑
摘要:port-港口、端口-货物(数据)寄存、装卸的地方。 数据的临时存放场所,一头连着运输,一头连着工厂(市场)。 阅读全文
posted @ 2020-03-18 17:26 zzfx 阅读(436) 评论(0) 推荐(0) 编辑
摘要:The stack is the memory set aside as scratch space for a thread of execution. When a function is called, a block is reserved on the top of the stack f 阅读全文
posted @ 2020-03-03 16:29 zzfx 阅读(137) 评论(0) 推荐(0) 编辑
摘要:全局上下文由main函数加载系统的主架构和主事件循环和全局数据构成。 是上帝创造世界时,创建的基础事物。 万物之始,大道至简,衍化至繁。 全局上下文代表着程序运行所需要的基础资源。 是程序运行的基础。 全局上下文的特征是在程序运行期间常驻内存。 全局上下文的生命周期和应用程序的生命周期相同。与应用程 阅读全文
posted @ 2019-10-29 14:28 zzfx 阅读(781) 评论(0) 推荐(0) 编辑
摘要:Expression:计算;一次计算;描述世界。 Statement:操作,状态维护;一次操作。改变世界。 Expression: Something which evaluates to a value. Example: 1+2/x Statement: A line of code which 阅读全文
posted @ 2019-10-29 13:59 zzfx 阅读(1936) 评论(0) 推荐(0) 编辑
摘要:事物的存在和运行所依赖的全部资源(能够看到和使用的一切)(环境)。 上下文研究的是一个时段内,多个主体、对象在历次操作活动时,在空间的信息投射。 上下文是事物存在和生存活动的气泡,气泡消失,事物消失。 没有上下文,事物的存在和运行会出问题。 上文即前置条件,下文即后置条件 上下文是一个记录一个系统在 阅读全文
posted @ 2019-10-28 17:30 zzfx 阅读(278) 评论(0) 推荐(0) 编辑
摘要:一、含义 上下文有程序执行所需要的全部资源和数据(包括函数数据)构成。 程序执行的过程就是构建上下文和使用上下文进行解释和处理的过程。 上下文的构建和维护构成了一个解释系统的小宇宙,任何事件、过程、元素,只有进入这个上下文才会有含义。 程序的执行依赖于上下文,程序执行的一半工作是执行上下文的构建与维 阅读全文
posted @ 2019-10-28 16:57 zzfx 阅读(688) 评论(0) 推荐(0) 编辑
摘要:一、异步事件的处理机制 1、事件队列机制 2、中断机制 二、异常、异步与执行流 1、异常: 异常是切换到新的执行流以后,原来的执行流不再保存。 2、异步: 异步是切换到新的执行流,执行完毕后再切换到原来的执行流。 三、两个核心: 1、上下文: 保存了执行流的上下文(先后顺序);上下文是执行流信息的结 阅读全文
posted @ 2019-10-23 14:46 zzfx 阅读(480) 评论(0) 推荐(0) 编辑
摘要:Ad-hoc这个词来源于拉丁语,在百度上解释为“for this purpose only”, 在wiki上解释为“for this”,其中文在wiki上被解释成包含“特设的、特定目的的(地)、即席的、临时的、将就的、专案的”这么多种含义。 在wireless network中,ad-hoc net 阅读全文
posted @ 2019-06-02 12:39 zzfx 阅读(743) 评论(0) 推荐(0) 编辑
摘要:多态:抽象类型可以泛化为具有不同行为的具体类型;在运行时根据类型做出不同的行为解释; 动态:语言元素的结构和行为可以在运行时修改; 多态需要运行时的解释执行; 多态需要在运行时获取类型和行为信息从而进行修改; 动态是将可修改范围由数据扩展到指令区; 动态的本质:一切皆数据、一切皆可修改。 二者都需要 阅读全文
posted @ 2019-03-26 21:13 zzfx 阅读(302) 评论(0) 推荐(0) 编辑
摘要:别名:指令指针、指令地址寄存器、程序计数器; 操作:顺序操作(计数器加一)、分支操作(计数器修改); The program counter (PC), commonly called the instruction pointer (IP) in Intel x86 and Itanium mic 阅读全文
posted @ 2019-03-18 15:12 zzfx 阅读(1877) 评论(0) 推荐(0) 编辑
摘要:Overview 本章主要介绍高级条件语句中的 switch 语句以及其增强版的模式匹配。 Java 篇 Switch 特点 Java 中 switch 语句功能类似 if,但是 switch 主要用在多条件分支上。 switch 语句由 case 分支和 default 组成,case 分支用于检 阅读全文
posted @ 2019-03-01 18:11 zzfx 阅读(566) 评论(0) 推荐(0) 编辑
摘要:鉴于目前动态库在iOS App中使用越来越广泛,二进制的兼容问题可能会成为一个令人头疼的问题。本文主要对比一下C++、Java、Objecive-C和Swift的二进制兼容问题。 iOS端动态库使用情况 测试环境 C++、Java、OC和Swift分别实现Foo这个基类,然后再实现Bar这个子类,m 阅读全文
posted @ 2019-01-16 15:25 zzfx 阅读(372) 评论(0) 推荐(0) 编辑
摘要:1. 什么是二进制兼容 所谓“二进制兼容性”指的就是在升级(也可能是 bug fix)库文件的时候,不必重新编译使用这个库的可执行文件或使用这个库的其他库文件,程序的功能不被破坏 2. 二进制不兼容会造成什么后果 如果库A升级没有能够做到二进制兼容,那么所有依赖它的程序(或库)都需要重新编译,否则会 阅读全文
posted @ 2019-01-16 12:37 zzfx 阅读(380) 评论(0) 推荐(0) 编辑
摘要:简单的理解,就是相关的内容 模式是在某种特定的场景(context)下某个不断重复出现的问题的解决方案。 环境;上下文;来龙去脉 上下文;语境;环境 网络背景;情境;脉络 context其实说白了,和文章的上下文是一个意思,在通俗一点,我觉得叫环境更好。 Context就Context,当年非得翻译 阅读全文
posted @ 2019-01-10 12:30 zzfx 阅读(521) 评论(0) 推荐(0) 编辑