一、tolua#c#调用lua:LuaState[变量名/函数名] 1.LuaState a.执行lua代码段 DoString(string) DoFile(.lua文件名) Require(.lua文件名(但没有.lua后缀)) b.获取lua函数或者表 LuaFunction func = lua.GetFunction(函数名); &nb
转载
2024-04-29 21:49:28
222阅读
8.1 宏定义预备知识:1.预处理2.编译3.汇编一.不带参数的宏定义1.一般形式:2.好处:3.说明:二.带参数的宏定义三.宏定义和函数的区别 预备知识:一个项目可以通过编译、连接最终形成一个可执行文件。 每个源文件(.cpp),都会单独编译,编译成一个目标文件(.o,也可能是.obj,扩展名跟操作系统有关)。 系统把这些.o文件进行链接,最终形成一个可执行文件。 编译干了什么事?笼统的说:词
ABAP中宏的使用不多,基本用于简单的代码复用,在SAP报表开发中可用于Filedcat和Layout的创建。一、宏的定义与调用语法:DEFINE NAME. "NAME为宏的名,自己定义" <STATEMENTS> . "代码段,一般是计算公式或赋值"END-OF-DEFINITION.define后跟的是宏的名。在define和end-of-definition 之间必须指定完整
转载
2024-04-29 18:18:31
181阅读
Lua 模块与包模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低代码耦合度。Lua 的模块是由变量、函数等已知元素组成的 table,因此创建一个模块很简单,就是创建一个 table,然后把需要导出的常量、函数放入其中,最后返回这个 table 就行。以下为创建自定义模
转载
2024-09-09 09:32:20
65阅读
声明:本篇博客主要对lua和c交互时,一些比较重要且有意思的特性进行阐述。如果想要了解博客中提到的lua c api详细信息,可以参考官方英文文档或者翻译中文文档。1.lua中常见的c文件如下: 1>.lua.h中定义LUA_开头的基础宏和lua_开头的基础函数(如:操作lua全局变量,访问lua函数,给lua注册函数等),主要注重简洁和高性能。 2>.lauxlib.h中定义luaL
宏定义是一种在 C++ 中用于创建简单替换文本的预处理指令。通过使用宏定义,您可以为某个标识符定义一个文本替换规则,以便在代码中使用该标识符时,会自动被替换为指定的文本。宏定义使用 #define 预处理指令来创建。宏定义的一般语法是:#define MACRO_NAME replacement_text其中,MACRO_NAME 是您为宏定义指定的标识符,而 replacement_text 是
转载
2024-04-03 19:51:53
259阅读
lua new table.new(narray, nhash) 两个参数分别代表table里是array还是hash的 table.new(10, 0) 或者 table.new(0, 10) 这样的,后者是 hash 性质的 tablelua table可以同时拥有数组部分和哈希部分。在物理上,数组部分和哈希部分也是在 table 内部分开存储的。比如 table
转载
2024-07-08 09:30:21
107阅读
一、宏的命名规则建议规则1:对于数值或者字符串等常量的定义,建议采用全大写的英文字母,单词之间加下划线‘_’的方式命名(枚举常量同样建议使用此方式定义)。示例:#define PI_ROUNDED 3.14
#define LOG_LEVEL_DEBUG 1
#define LOG_LEVEL_INFO 2
#define LOG_LEVEL_WARN 3
#define LOG_LEVEL_
转载
2024-07-11 19:13:31
92阅读
该文章是一年前写的,不好意思在原文下面写心得体会了,就把想说的写在这里。1,在你的程序中嵌入lua时,最好使用由你的编译器编译lua源代码得到的库文件(lua.lib)。这是因为,在lua的异常处理机制里面会使用一些宏,在不同的编译环境下这些宏有不同的定义,例如:#if defined(__cplusplus)
/* C++ exceptions */
#define LUAI_THROW(L,c
转载
2024-06-17 09:26:06
202阅读
目的是利用某一标识符标识某个文本字符串。在编写程序时,如果程序中反复地使用某个数据或某段程序片段,就可以考虑将这个数据或程序片段定义为宏,然后每个出现该数据或程序片段的地方用宏名替代,选择宏定义来做的好处是程序简洁,可读性好,而且当需要修改这些相同的程序片段时,只要修改宏定义中的字符串即可,不需要修改多处。宏定义命令:define优点:方便程序的修改,同时也能提
转载
2024-06-28 19:54:39
151阅读
记得上学时,初中英文课本中,上网叫做surfing the internet,中文叫网上冲浪。
那个时期,人们常常称互联网为赛博空间。现在工作了,大量的零碎时间用于上微博,知乎,QQ。这些碎片化的阅读让人读起来轻松,也能获取些粗浅的信息。然而它们是消耗时间的黑洞,时间就这样一分一秒地飞逝,年末的时候,知乎会告诉你回答了多少问题。阅读了相当于一部《红楼梦》那么多的文字。仅仅是当你静下来一想,
Lua C APILua C API主要是指一系列以lua_开头的C语言函数(也可能是宏函数)。Lua的定位是一门强大、高效、轻量级的可嵌入脚本语言。为了很方便地嵌入到其他宿主(Host)环境中,Lua核心是以库(Library)的形式被实现的,其他应用程序只需要链接Lua库就可以使用Lua提供的API轻松获得脚本执行能力。Lua 3.1引入了lua_State结构体,对解释器状态进行了封装,Lu
编写word宏代码步骤点击“视图” - “宏” 。点击“录制宏”,填写宏名称(即函数名),选择保存位置,确定后,鼠标会变成录像带,再进行需要的操作后,点击停止录制,即完成操作录制。点击“查看宏”,后可以看到录制后的宏名称,点击编辑可看到录制的代码也可修改代码。小妙招:可以通过录制宏,查看相关操作的代码(比如设置列宽时,不知道对应的列宽宏代码,可以先录制一个有设置列宽的宏,再打开查看)。点击“查看宏
转载
2024-03-25 07:10:02
40阅读
使用方式1、打开该特性添加HOTFIX_ENABLE宏,(在Unity3D的File->Build Setting->Scripting Define Symbols下添加)。编辑器、各手机平台这个宏要分别设置!如果是自动化打包,要注意在代码里头用API设置的宏是不生效的,需要在编辑器设置。(建议平时开发业务代码不打开HOTFIX_ENABLE,只在build手机版本或者要在编译器下开
转载
2024-07-23 13:34:28
57阅读
基本函数库为Lua内置的函数库,不需要额外装载 assert (v [, message]) 功能:相当于C的断言, 参数: v:当表达式v为nil或false将触发错误, message:发生错误时返回的信息,默认为"assertion failed!" ------------------------------------------------------------
转载
2024-03-05 11:12:00
25阅读
1. inline函数的引入目的是解决使用宏定义的一些缺点。2. 宏定义的缺点:1)只做一些简单的字符替换,不能进行参数有效性的检测。2)另外它的返回值不能被强制转换为可转换的合适类型,3)C++中引入了类及类的访问控制,在涉及到类的保护成员和私有成员就不能用宏定义来操作。3. inline的优点1)没有调用的开销。 因为inline函数代码是被放到符号表中,使用时像宏一样展开;2)进行数据类型检
转载
2024-04-19 10:51:03
136阅读
重点掌握 require,dofile,loadfile,其他的了解即可。一、require载入文件并执行代码块, 对于相同的文件只执行一次,即多次require时,只会执行一次文件的代码块 2.调用:require("filename").注意这里文件名不能包括后缀名,否则会提示找不到文件. 注:寻找文件的路径在package.path
转载
2024-06-20 06:09:38
78阅读
本文告诉初学者如何使用(制作)宏、脚本、插件。Slash命令在了解一切之前,你需要知道什么是Slash命令。WoW允许你执行“斜线+命令名”这样简单的命令,你可以直接在聊天框输入,例如:输入“/follow”,跟随你的友方目标。你可以通过输入“/help”来获取一些常用的Slash命令。Slash命令有好几种类型。有些被设计来执行游戏动作,如“/follow, /assist, /cast”;有些
转载
2024-07-09 01:24:57
592阅读
这里主要总结几个使用技巧: 1、无固定个数参数2、##和#3、在无固定个数参数后面再添加一个参数 示例:我们经常会在函数中做一些判断,进而以此为依据进行后续的执行。假定要求在判断的时候,如果条件是false,那么记录下出错信息并跳转到到出错处理。 假定在某函数Test中,如果条件满足,那么输出信息并直接goto到出错处理, 一般的程序处理如下:v
转载
2024-05-25 18:07:41
215阅读
LRU(Least Recently Used)最近最少使用页面置换算法,一种内存缓存机制。内部底层可以使用数组实现。因为手机分配给每一个程序的大小是固定的。oom(out of menory)。所以会有一些保持内存大小的机制,LRU就是其中一个。ArrayList模拟固定的内存空间(当然可能不是很合适,如果有更好的建议可以提出来切磋切磋)。测试数据为:2、
转载
2024-08-18 14:48:52
69阅读