日前已对“易语言.飞扬”类库的版本号内部存储方式作了修改,此修改将导致以前的所有EF类库失效。
所有EF类库(*.efl)必须重新编译才能使用,所有EF本地类库(*.efn)必须稍加修改并重新编译才能使用。
晚痛不如早痛,早一点改是好事。
修改之前,使用64位双精度浮点数存储EF类库版本号;修改之后,使用32位无符号整数存储EF类库版本号。
经此修改,EF类库结构(EFLibInfo)内的所有成员皆为4字节数据,排除了“字节对齐”的影响。
下面对“易语言.飞扬”类库的版本号做一些说明。
版本号,其外在表示形式为五个数值,通常显示为 a.bcde,其中a为主版本号(不大于65535),b c d e 为四个子版本号(均为0到9之间的数字);其内部存储形式为一个32位无符号整数。通常使用宏 EF_VERSION(a, b) 生成内部存储形式,还可使用 EF_VERSION_3(a, b, c), EF_VERSION_4(a, b, c, d), EF_VERSION_5(a, b, c, d, e) 等宏。类库和类型(类、接口、枚举)均有版本号。
构建编号,是一个32位无符号整数,作为类库版本号的补充,具体数值由作者决定(如,从1开始递增,或使用标识年月日的数值20080808)。
更新后的“易语言.飞扬”本地类库开发包(EFNDK)版本号已升级为 1.1,http://dotef.cn/efndk/。