以图明志

计算机算法

[专题] 漫谈递归:从汇编看尾递归的优化

尾递归的编译器优化
对于尾递归,很多人的理解仅局限于它是递归和尾调用的一个合体,比普通递归效率高。至于效率为什么高,高在哪,可能没有深究过。 在执行函数B时,函数A的栈帧其实是已经大部分没用了,可以被修改或覆盖。编译器可以利用这一点进行优化,函数B执行后直接返回到函数A的调用者。

JavaScript

js词法作用域、调用对象与闭包

JavaScript词法作用域与调用对象
Javascript 中的函数属于词法作用域,也就是说函数在它被定义时的作用域中运行而不是在被执行时的作用域内运行。这是犀牛书上的说法。但"定义时"和"执行(被调用)时"这两个东西有些人搞不清楚。简单来说,一个函数A在"定义时"就是 function A(){} 这个语句执行的时候就是定义这个函数的时候,而A被调用的时候是 A() 这个语句执行的时候。

PHP服务器脚本

ECMall的MySQL数据调用的简单方法

ECMall对数据库的修改与二次开发
很多ecmall开发者会问,怎么使用Ecmall的mysql类库进行数据调用。从原理上来讲Ecmall的数据调用是以数据模块+模块类库的方式进行mysql数据调用的,所有数据模块都存储在includesmodels 目录下,这些调用对于初学者来讲是比较复杂的,例如商品的数据调用函数,不能用在店铺的数据调用上,每个数据表都有自己的函数自己的类库和少量的公共类库。

编程思想

从汇编的角度看函数调用的过程

编程语言的函数调用是如何实现的
有时候,我们需要深入了解编程语言的一些细节性问题,比如,编程语言结构--函数是如何实现的,函数的执行会是怎么样的一个过程。下面我们举一个例子,看看函数调用的时候,堆栈会发生怎么样的变化。首先要明白的是操作堆栈段, ss 只能用 esp或ebp寄存器 其他的寄存器eax ebx edx等都不能够用。而esp永远指向堆栈栈顶,ebp用来在堆栈段里面寻址。

PHP服务器脚本

PHP如何实现异步数据调用

4种异步调用实现方式
浏览器和服务器之间只有一种面向无连接的HTTP协议进行通讯的,面向无连接的程序的特点是客户端请求服务端,服务端根据请求返回相应的程序,不能保持持久连接。这样就出现了一个问题,一个客户端的相应服务端可能执行1秒也有可能执行1分钟,这样浏览器就会一直处于等待状态,如果程序执行缓慢,用户可能就没耐心关掉了浏览器。

PHP服务器脚本

PHP的魔术函数与魔术常量介绍

自动调用某些函数帮我们解决问题
Php5.0发布以来为我们提供了很多面向对象的特性,尤其是为我们提供了好多易用的魔术方法,这些魔术方法可以让我们简化我们的编码,更好的设计我们的系统。今天我们就来认识下php5.0给我们提供的魔术方法。__get() 当试图读取一个并不存在的属性的时候被调用。

PHP服务器脚本

帝国CMS循环子栏目标签listsonclass介绍

ECMS是如何通过标签调用数据的
循环子栏目数据标签(listsonclass),标签名称:循环子栏目数据标签 (sys_ForSonclassData),格式:[listsonclass]栏目ID,显示条数,标题截取数,是否显示栏目名,操作类型,模板ID,只显示有标题图片,显示栏目数[/listsonclass]

PHP服务器脚本

[专题] PHP内核探索:函数调用与执行

调用zend_execute来执行zend_op_array
前面对函数的内部表示以及参数的传递,返回值都有了介绍,那函数是怎么被调用的呢?内置函数和用户定义函数在调用时会有什么不一样呢? 下面将介绍函数调用和执行的过程。函数被调用需要一些基本的信息,比如函数的名称,参数以及函数的定义(也就是最终函数是怎么执行的), 从我们开发者的角度来看……

C/C++编程语言

[专题] 漫谈C指针:函数指针作为函数参数使用

附加一个实例
既然函数指针变量是一个变量,当然也可以作为某个函数的参数来使用的。所以,你还应知道函数指针是如何作为某个函数的参数来传递使用的。要求:我要设计一个CallMyFun函数,这个函数可以通过参数中的函数指针值不同来分别调用MyFun1、MyFun2、MyFun3这三个函数(注:这三个函数的定义格式应相同)。

C/C++编程语言

[专题] 漫谈C指针:函数调用的指针写法

用多种方法来调用函数
有了FunP指针变量后,我们就可以对它赋值指向MyFun,然后通过FunP来调用MyFun函数了。看我如何通过FunP指针变量来调用MyFun函数的: (*FunP)(20); 运行看看。嗯,不错,程序运行得很好。哦,我的感觉是:MyFun与FunP的类型关系类似于int 与int * 的关系。函数MyFun好像是一个如int的变量(或常量),而FunP则像一个如int * 一样的指针变量。
1 / 1 首页 < Prev 1 Next > 尾页 页码: