075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展

075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展

c编写lua的xml扩展

基础知识

数组操作

wps_clip_image-11643

wps_clip_image-12387

使用这两个函数更快(相比涉及元表的访问)。

字符串操作

wps_clip_image-13702

075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展_第1张图片

c函数中保存状态(非局部数据)

注册表

函数环境

upvalue

用户自定义类型userdata

userdata提供一块原始内存区域,没有任何预定义操作。

wps_clip_image-22213

075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展_第2张图片

075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展_第3张图片

元表

可用于辨别不同类型userdata。

wps_clip_image-24564

wps_clip_image-5481

面向对象的访问

075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展_第4张图片

075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展_第5张图片

轻量级userdata

只是指针。

没有元表。

用于相等性判断。

xml扩展

expat

http://expat.sourceforge.net/

扩展代码

完整见代码。

075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展_第6张图片

省略部分代码。

075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展_第7张图片

lua调用脚本

075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展_第8张图片

075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展_第9张图片

代码

https://github.com/everettjf/luavc

你可能感兴趣的:(075 - 问,lua程序设计(第四部分)笔记四,c编写lua的xml扩展)