关于“易写易库(EXEK)”的“类'交叉编译'”的设想
关于“易写易库(EXEK)”的“类‘交叉编译’”的设想,已经很久了,现在写出来与各位共享。
这个所谓的“类交叉编译”,是指:用现在版本的EXEK,开发某个支持库(初定为“易库常量支持库(ekconsts.fne)”,其中定义许多枚举常量),进而,把这个支持库应用到新版本EXEK的开发过程中。通俗点说就是,我赚钱,用赚来的钱雇人,再用雇来人的帮我赚更多的钱。换另一个说法就是,我用我开发的工具1,开发出另一个工具2,再用工具2协助继续开发/完善工具1。
这种想法是否可行尚未经过实地验证,但我想“应该”是可行的,因为它基于这样一个事实:易语言源代码中如果仅用到了支持库中的常量或枚举常量,编译为EXE/DLL后,不再依赖该支持库。也就是说,即使我的EXEK内部使用了“易库常量支持库(ekconsts.fne)”,仍能做到“使用EXEK开发出的支持库”运行时不依赖任何其它支持库(包括不依赖核心库)。
为什么呢?为什么要引入“易库常量支持库(ekconsts.fne)”呢?答案是,我(liigo)不太情愿把“EXEK所需的、易语言支持库开发包(SDK)中定义的大量常量”定义在EXEK模块中。理由如下:一,模块中只能定义普通常量,而支持库却可以定义枚举类型常量,显然后者更清晰明了;二,在模块中定义常量,加很长的注释是一种负担,编辑起来很累的;三,用现在的EXEK开发一个定义有枚举类型的支持库是非常容易的;四,把常量定义于EXEK之外的支持库中,相当于把这一部分开发性工作量独立出去,有助于外界提前参予进来协助开发(注:目前EXEK模块中只定义了必须的常用的SDK常量)。