当我尝试在 Windows 7 上将 Crypt::TEA 模块安装到 perl 5.18 时,显示错误:
TEA.xs:在函数“XS_Crypt__TEA_crypt”中:TEA.xs:58:9:错误:无效使用无效表达式
当我尝试在 Windows 7 上将 Crypt::TEA 模块安装到 perl 5.18 时,显示错误:
TEA.xs:在函数“XS_Crypt__TEA_crypt”中:TEA.xs:58:9:错误:无效使用无效表达式
问题是这一行:
if (SvREADONLY(output) || !SvUPGRADE(output, SVt_PV))
croak("cannot use output as lvalue");
SvUPGRADE() 是一个有两个 void 操作的宏,它不返回值。如果它失败了,它会发出嘶哑的声音。将其更改为:
if (!SvREADONLY(output))
SvUPGRADE(output, SVt_PV);