自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CashChin的专栏

我的编程空间

  • 博客(16)
  • 收藏
  • 关注

原创 NASM 与 MASM 在函数编写上的区别

NASM 与 MASM 在函数编写上的区别;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;C/CPP 程序 demo.cpp;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#in

2007-12-18 15:45:00 2371

转载 谈函数指针(全局/类成员函数)和函数对象

函数指针(全局函数/类成员函数)和函数对象一. 函数指针类型为全局函数.#include "stdafx.h"#include using namespace std;class TestAction;typedef void (*fp)(int);void Drink(int i){    cout"No. "" drink..."}void Eat(int i){    cout"No. 

2007-11-22 09:29:00 900

转载 Lua 学习笔记之 function、closure和upvalue

Lua中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然可以定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包和内嵌都具有传递性,即f2的内嵌必然是f1的内嵌,而f1的外包也一定是f2的外包。内嵌函数可以访问外包

2007-10-17 14:54:00 1094

原创 Lua学习笔记之 Type and Values

lua是一种动态类型语言, 不用特别声明变量以及指定类型, 首次赋值即为声明. 说到此点, 我觉得动态语言的这种特点与汇编倒是蛮象的: 不管你是什么类型, 对于底层而言, 它代表的就是一内存地址, 而操作符代表的就是对这些地址及存在于这些地址里的量进行操作而已.  闲话少说,  继续看pil, 今天的内容是: types and  values.笔记内容:1. lua提供了八种数据类型:

2007-10-17 14:52:00 3499

原创 LUA学习笔记3 - Compilation, Execution, and Errors

 Compilation, Execution, and Errors前面我们介绍过dofile函数, 其实dofile的实现如下:    function dofile (filename)      local f = assert(loadfile(filename))      return f()    endloadfile函数很灵活, 我们可以多次调用loadfile的返回结果来反复

2007-10-17 14:51:00 874

转载 LUA学习笔记2-Iterators and the Generic for

Iterator是一种允许你遍历一个集合中元素的结构. 在Lua中, 我们可以用function实现iterator, 每次调用这个函数, 它都返回集合中的下一个元素. 一个iterator需要保留一些用来遍历的信息, 例如当前元素的位置以及什么时候结束. Closure的机制非常适合这个工作. 遍历所需的环境变量可以保存在upvalue中, 这样每一次调用这个closure, 他都返回遍历某一个

2007-10-17 14:50:00 928

转载 LUA学习笔记1-Functions

Function Description在LUA中, Function和Number, String一样属于基本类型. 凡是基本类型可以出现的地方Function一样可以出现. 这意味着Function可以存储在变量中,可以作为另一个Function的参数传递,也可以作为某个Function的返回值. 可以把Function德名字视为一种变量,它指向具体的Function实现. 这样的机制给程

2007-10-17 14:49:00 1835

原创 Lua 标准库 - 操作系统处理(operating system facilities)

这个库通过表os实现1、os.clock ()功能:返回一个程序使用CPU时间的一个近似值  2、os.date ([format [, time]])功能:返回一个按format格式化日期、时间的字串或表若设置time参数,则按time指定的时间格式化,否则按当前时间格式化参数:  format:         "!":按格林尼治时间进行格式化。      "*t":将返一

2007-10-17 11:15:00 1862

原创 Lua 标准库 - 输入输出处理(input and output facilities)

I/O库提供两种不同的方式进行文件处理1、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述   io表同样提供三种预定义的文件描述io.stdin,io.stdout,io.stderr2、文件句柄直接调用方式,即使用file:XXX()函数方式进行操作,其中file为io.open()返回的文件句柄多数I/O函数调用失败时返回nil加错误信息,

2007-10-17 10:27:00 1719

原创 Lua 标准库 - 算术函数(mathematical functions)

这是一个标准 C 的算术库,所有的函数存放于math表1、math.abs (x)功能:返回x的绝对值2、math.acos(x)功能:函数返回参数x的反余弦值。参数x 应当在-1和1之间3、math.asin (x)功能:函数返回参数x的反正弦值。参数x 应当在-1和1之间。4、math.atan (x)功能:函数返回参数x的反正切值5、math.atan2

2007-10-16 23:45:00 1316

原创 Lua 标准库 - 表处理(table manipulation)

表处理库提供通用的表操作函数,所有操作都是基于表注:所有函数只适用于以数字索引访问的表,以1为基索引1、table.concat (table [, sep [, i [, j]]])功能:返回用sep连接表中的字串,sep默认为空字串,i默认为1,j默认为表的长度,如果i大于j则返回空字串2、table.insert(table, [pos,] value)功能:在指定的索引位置po

2007-10-16 22:36:00 1327

转载 lua实现面向对象的特性

lua本身不支持面向对象的特性,但是由于lua是基于原型(prototype)的语言,要实现面向对象的特性也是有一定的方法的,实现方式有很多种, 总结了一下我最近对使用lua实现面向对象的特性,主要可以分为以下两种不同的方式来实现:1、使用metatable的__index域实现,实现的时候需要利用的lua语言的一些特性才可以实现,主要有:    a、将table b作为table a的一个pro

2007-10-16 17:59:00 1419

原创 Lua 标准库 - 字符串处理(string manipulation)

字符串库为Lua提供简易的字符串处理操作,所有的字串操作都是以1为基数的(C以0),也可使用负向索引,最后一个索引为-1 ; 所有的函数都存放在string表,并且已建立元表(__index=string表)所以string.byte(s,i) s:byte(i)1、string.byte(s [, i [, j]])功能:返回从i到j的字符所对应的数值(字符 到 ASCII值),i默认为1

2007-10-16 17:42:00 7894 1

原创 Lua 标准库 - 模块(Modules)

包库为Lua提供简易的加载及创建模块的方法,由require、module方法及package表组成1、module (name [, ···])功能:建立一个模块。     当package.loaded[name]中存在时,当中的表作为module;      当在全局表中存在name指定的表时,此表作为module;     当以前两种情况都不存表name时,将新建一个表,并使其作为全局

2007-10-16 16:33:00 2031

原创 Lua 标准库 - 协同程序处理(coroutine manipulation)

协同程序处理库是lua标准库的子类库,可以视作线程使用1、coroutine.create (f)功能:建立一个新的协同程序,f为入口函数,返回一个"thread"的值  2、coroutine.resume (co [, val1, ···])功能:第一次调用resume时,将要启动线程,val1...为传入f的参数     当线程因调用yield挂起,可以用resume继续

2007-10-16 15:35:00 978

原创 Lua 标准库 - 基本函数(base function)

基本函数库为Lua内置的函数库,不需要额外装载1、assert (v [, message])功能:相当于C的断言,参数:      v:当表达式v为nil或false将触发错误,message:发生错误时返回的信息,默认为"assertion failed!"  2、collectgarbage (opt [, arg])功能:是垃圾收集器的通用接口,用于操作垃圾收集器参数:   o

2007-10-16 13:33:00 2710 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除