Elink是什么
Elink是AMI SDL代码中的关键字之一,也是AMI的一个重要Feature。
Elink的作用类似于C语言的预编译/预处理。其结合C语言的宏定义,部分剥离了代码,降低了代码耦合性。
Elink的运行机制
Elink的运行主要可以分为3步:
(1)在SDL文件中定义Elink关键字
(2)编写Elink源文件(*.txt)
(3)生成Elink最终文件(*.h)
具体步骤在自定义Elink中讲解。
自定义Elink
1.在SDL文件中定义Elink,需要先声明 OUTPUTREGISTER
其中主要包含了两点:
a.File(Elink生成的文件)
例如 File = MAKAElink.h
b.Template(Elink的源文件)
例如 Template = MAKAElink.txt
2.声明Elink本身 和 Elink的方式 ELINK
例如这里的Elink名字为BAKA,调用顺序为ReplaceParent。
在Template源文件就是这样:
因为我们指定的调用顺序是ReplaceParent,所以 @Elink(BAKA, "@Child", " ", "%n") 部分会被整体替换。除了ReplaceParent,还可以指定为AfterParent。
3.使用Elink:
在需要使用的SDL中,添加声明,例如下面的声明:
4.Elink编译:
Elink被编译后,内容被添加到token.mak文件中
5.Template内容替换:
@Elink(BAKA, "@Child", " ", "%n") 部分会被编译器自动地被token.mak中的内容替换,最终生成可以使用的头文件(MAKAElink.h)
6.使用Elink方式的头文件:
在对应的c中 include Elink.h 即可