为什么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. css label 居中布局_HTMLCSS精华知识点——表单元素、BFC、两栏布局、居中总结等...
  2. 清华唐杰:GPT-3表示能力已经接近人类了,但它有一个阿喀琉斯之踵 | MEET 2021...
  3. 蹭课神器NABCD分析
  4. [译]WPF 应用程序和MVVM设计模式 ——Josh Smith
  5. 动态规划算法分析和理解:最长公共子序列、公共子字符串
  6. android10如何设置打开方式,Android启动方式
  7. 机器学习笔记1(K-近邻算法)
  8. day10 Python 形参顺序
  9. java 向后台传两个json数据类型_前台向后台传递JSON字符串,处理JSON字符串类型的方法...
  10. EURAKA入门实例1
  11. 碳排放权交易管理办法即将施行,你知道火电厂的碳排放是怎么算出来的吗?
  12. 关于SGD的一些小笔记
  13. 给LaTeX表格加脚注时的奇怪问题(使用PDFLaTeX)
  14. 如何用python爬虫薅羊毛_拼多多现重大BUG被“薅羊毛”,教你如何用Python简单褥羊毛...
  15. 什么样的公司需要IT外包?
  16. 猴子定律--如何跳出你深陷的棋局看趋势
  17. 充电宝为arduino供电
  18. 达人评测联想小新笔记本air14 2023和联想小新pro162022款选那个好
  19. IP签名档PHP源码,简单几步,教你制作自己的显IP签名档
  20. vue常见面试题(附带答案)超实用!!建议收藏!!

热门文章

  1. android权限控制泄露,Android应用的权限泄露分析
  2. c语言数组数据的输入,在C语言中,数组中的值如何输入到函数中?
  3. html中透明度怎么写,css中控制透明度
  4. 3. 什么是icmp?icmp与ip的关系_「2020.12.3」黄俊捷热搜被爆料?郭俊辰交往女朋友?为什么三只跨年不合体?郝富申和王俊凯关系?Naomi和alracco?...
  5. nginx 开启gzip 配置js_前端性能优化之缓存与GZIP
  6. python中文对齐_Python中英文对齐终极解决方案
  7. Windows Server 2008服务器管理新技巧6则第4/4页
  8. 使用CDN之后APACHE日志记录中IP地址不正确的解决方案
  9. Linux(Ubuntu)常用命令(二)
  10. Linux下使用curl进行http请求(转)