为什么80%的码农都做不了架构师?>>>   

Lua1.0 代码分析 库
库的代码相对比较简单。这里以数学库为例进行说明。
比如看下这个取绝对值的数学函数

static void math_abs (void)
{double d;lua_Object o = lua_getparam (1);if (o == NULL){ lua_error ("too few arguments to function `abs'"); return; }if (!lua_isnumber(o)){ lua_error ("incorrect arguments to function `abs'"); return; }d = lua_getnumber(o);if (d < 0) d = -d;lua_pushnumber (d);
}

函数开始的时候,从栈中取得一个对象(lua_getparam),操作(lua_getnumber 及其它)后结果再压栈(lua_pushnumber)。
基本上库的操作都是这样的一个模式。

strlib iolib 除了实现不同功能上的差异,其它和没有什么新东西。

到此, Lua1.0 已经过了一遍,虽然有的地方比较粗糙。

到 Lua1.1 这个官方第一个公开发行版的时候,再进行比较详细的分析,因为 Lua1.1 有文档可做参考。代码相对来说也完整些。

转载于:https://my.oschina.net/xhan/blog/308562

Lua1.0 代码分析 库相关推荐

  1. Lua1.0 代码分析 opcode.c

    为什么80%的码农都做不了架构师?>>>    opcode.c 代码分析 Lua1.0 虚拟机的实现,语法分析中生成的字节码交给它 lua_execute 来执行. 这个文件的主要 ...

  2. Lua1.0 代码分析 table.c

    转载出处:http://my.oschina.net/xhan/blog/307961 table.c 代码分析 全局符号,常量,字符串,关联数组,文件列表的定义. 全局符号: 初始有 5 个基本的符 ...

  3. SDU信息门户(10)前端vue3.0代码分析

    2021SC@SDUSC 目录 一.引言 二.代码分析 1.答辩检查组件 2.文件系统组件 3.公告组件 4.教师发布题目组件 三.总结 一.引言 SDU信息门户中前端主要使用了Vue3.0的技术,这 ...

  4. QQ宠物吹泡泡游戏小助手 VC++6.0代码分析

    最近玩QQ宠物,他总是心情低落,让我很不爽,让他玩耍吧,还得自己点鼠标,所以想偷个懒,试试能不能编个程序让电脑帮我做这个事情. 要干这件事就得先找一个游戏开刀,刚开始我找的是弹力球游戏,不就是点鼠标么 ...

  5. H264编码- 码率控制 RQ 模型参数推导过程以及JM代码分析

    摘要:本文主要介绍H264码率控制过程中,RQ模型参数更新推导过程,并结合JM19.0代码分析其功能实现. H264码率控制中比较重要的一个模型是RQ模型,不管是图像级码率控制还是基本单元码率控制都会 ...

  6. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 注入工具收尾操作 | 关闭注入的动态库 | 恢复寄存器 | 脱离远程调试附着 )

    文章目录 一.dlclose 函数简介 二.关闭注入的 libbridge.so 动态库 三.恢复寄存器 四.脱离远程调试附着 一.dlclose 函数简介 dlclose 函数的作用是 卸载一个 指 ...

  7. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取注入的 libbridge.so 动态库中的 load 函数地址 并 通过 远程调用 执行该函数 )

    文章目录 一.dlsym 函数简介 二.获取 目标进程 linker 中的 dlsym 函数地址 三.远程调用 目标进程 linker 中的 dlsym 函数 获取 注入的 libbridge.so ...

  8. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )

    文章目录 前言 一.等待远程进程 mmap 函数执行完毕 二.从寄存器中获取进程返回值 三.博客资源 前言 前置博客 : [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | ...

  9. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )

    文章目录 一.准备 mmap 函数的参数 二.mmap 函数远程调用 一.准备 mmap 函数的参数 上一篇博客 [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | 远程调 ...

最新文章

  1. 原生php使用foreach,如何使用php中foreach()
  2. 数字图像处理:第二十二章 基于模型的编码
  3. mongoudb 等于_MongoDB常用操作
  4. sympy科学计算器
  5. awk用法小结(作者总结)
  6. 南阳32--组合数(Dfs)
  7. [Luogu 1312] noip11 Mayan游戏
  8. 使用UIWebView中html标签显示富文本
  9. 干粉灭火器(泡沫灭火器)工作原理
  10. Win8 Metro App里玩XNA:ContentPipeline内容管线问题
  11. Video for linux 2 example (v4l2 demo)
  12. Sql Server 日期格式化函数
  13. java环形队列_数组实现环形队列Java
  14. 《R语言入门与实践》第八章:S3 与 R 面对对象编程
  15. 网吧系统快速设置工具
  16. PSP《大众高尔夫2P》XB资源包算法分析(2)
  17. 共线条件方程及其应用
  18. 《Hello!树先生》简介
  19. 淘口令卡首屏直通车卡首屏关键词刷单技术分享
  20. 快速构建Table和Form页面

热门文章

  1. WeightedRandomSampler 理解了吧
  2. 没有找到 html 模板,Spring Boot and Thymeleaf:找不到HTML模板
  3. mach空串 php preg_PHP 优化详解
  4. python3 写文件时指定文件名_Python3基础 os listdir 列举指定的所有文件及文件夹的名字...
  5. Android快速阅读依赖的代码,Java Android快速阅读完整文件
  6. python sub 不区分大小写_解决Python列表字符不区分大小写的问题
  7. jmeter响应断言使用_十二、Jmeter断言-响应断言、Json断言和Beanshell断言
  8. LetCode: 5. 最长回文子串
  9. 计算机硬件大型作业报告,计算机硬件技术大作业报告.doc
  10. linux设置进程优先级,Linux线程属性及优先级设置