前言
-
什么是宏?
-
宏是易语言中在编译程序时,通过提供一系列自定义的常量数据参数来调用系统内置或者外部提供的程序接口,获得其处理结果并将其整合进编译结果中,命令参数表中最后一个参数可以被重复添加。
命令实现:
-
宏插件导出函数名为:“MacroProcessor”,返回值是ErrorCode,即错误信息。(如果没有错误信息就返回NULL, 用字符(0)即可)
-
宏插件中数据类型均为“IMM_VALUE_WITH_DATA_TYPE”
-
下面是对于“IMM_VALUE_WITH_DATA_TYPE”部分介绍:
参数 | 含义 |
---|---|
m_dtDataType | 参数数据类型 |
m_blIsAry | 是否为数组数据 TRUE/FALSE |
m_imm | 数据指针 |
m_Data | 数据地址(实际处理时使用m_imm,这里我觉得叫保留更好) |
可以干什么:
-
我首先想到的当然是内联,于是就把汇编编译器搬了进去(下面是部分命令实现过程):
-
代码测试:
-
当然了,还可以进行编码转换处理,比如说进行编译前编码Ansi(当然宏只能处理常量),那么,程序的执行效率理论上会提高(执行命令时不必再次走一下编码过程)
本宏的使用
-
“ASM”文件夹请放在e的主目录!!!(和汇编插件类似,“需要FASM.DLL支持”)
-
编译出的“Coding_plugin.dll”请放在“\e\plugins”目录下,这样e系统才会编译宏
易语言的宏替换
易语言 e\plugins