回 帖 发 新 帖 刷新版面

主题:《Vfp编译软件(Vfp Compiler)》源代码预处理技术之四

《Vfp编译软件(Vfp Compiler)》源代码预处理技术之四:

4、/VCEXPANDINLINE=ON 展开内联函数

原代码:

?"VCTEST_PI()*VCTEST_PI()="+LTRIM(STR(VCTEST_PI()*VCTEST_PI(),16,5))
RETU
FUNCTION vctest_pi
* INLINE FUNCTION vctest_pi =
PRIVATE x3
=[GOTO LABEL_OK]
x3=PI()+100
RETU x3
=[LABEL_OK:]
x3=PI()
RETU x3


“展开内联函数”后代码:

PRIVATE X3_VCINLINE_VARIABLE_A__VCTEST_PI
=[GOTO LABEL_OK__VCTEST_PI_A]
X3_VCINLINE_VARIABLE_A__VCTEST_PI=PI()+100
PRIVATE m.__VC_AQBWRC_A
STORE (X3_VCINLINE_VARIABLE_A__VCTEST_PI) TO m.__VC_AQBWRC_A
=[GOTO FOXRUN_RETURN_LABEL_RETURN__VCTEST_PI_A]
=[LABEL_OK__VCTEST_PI_A:]
X3_VCINLINE_VARIABLE_A__VCTEST_PI=PI()
PRIVATE m.__VC_AQBWRC_A
STORE (X3_VCINLINE_VARIABLE_A__VCTEST_PI) TO m.__VC_AQBWRC_A
=[GOTO FOXRUN_RETURN_LABEL_RETURN__VCTEST_PI_A]
=[FOXRUN_RETURN_LABEL_RETURN__VCTEST_PI_A:]
PRIVATE m.__VC_AQBWRM_A_A
m.__VC_AQBWRM_A_A=m.__VC_AQBWRC_A
PRIVATE X3_VCINLINE_VARIABLE_A__VCTEST_PI
=[GOTO LABEL_OK__VCTEST_PI_B]
X3_VCINLINE_VARIABLE_A__VCTEST_PI=PI()+100
PRIVATE m.__VC_AQBWRC_A
STORE (X3_VCINLINE_VARIABLE_A__VCTEST_PI) TO m.__VC_AQBWRC_A
=[GOTO FOXRUN_RETURN_LABEL_RETURN__VCTEST_PI_B]
=[LABEL_OK__VCTEST_PI_B:]
X3_VCINLINE_VARIABLE_A__VCTEST_PI=PI()
PRIVATE m.__VC_AQBWRC_A
STORE (X3_VCINLINE_VARIABLE_A__VCTEST_PI) TO m.__VC_AQBWRC_A
=[GOTO FOXRUN_RETURN_LABEL_RETURN__VCTEST_PI_B]
=[FOXRUN_RETURN_LABEL_RETURN__VCTEST_PI_B:]
PRIVATE m.__VC_AQBWRM_A_B
m.__VC_AQBWRM_A_B=m.__VC_AQBWRC_A
?"VCTEST_PI()*VCTEST_PI()="+LTRIM(STR(m.__VC_AQBWRM_A_A*m.__VC_AQBWRM_A_B,16,5))
RETU
FUNCTION vctest_pi
PRIVATE x3
=[GOTO LABEL_OK]
x3=PI()+100
PRIVATE m.__VC_AQBWRC_A
STORE (x3) TO m.__VC_AQBWRC_A
=[GOTO FOXRUN_RETURN_LABEL_RETURN]
=[LABEL_OK:]
x3=PI()
PRIVATE m.__VC_AQBWRC_A
STORE (x3) TO m.__VC_AQBWRC_A
=[GOTO FOXRUN_RETURN_LABEL_RETURN]
=[FOXRUN_RETURN_LABEL_RETURN:]
RETURN m.__VC_AQBWRC_A

可以验证“展开内联函数”后代码与原代码的功能是相同的。

回复列表 (共3个回复)

沙发

有下载吗?

板凳

这些是在Vfp编译软件(Vfp Compiler)编译时自动处理的。
http://www.baiyujia.com/f_download.asp
http://www.baiyujia.com/vfpdocuments/default.asp

3 楼

各位Foxer,五一节快乐!

《VFP编译软件(VFP Compiler)》最近更新:


下列问题已修复:

    1、支持数字签名。
    2、表单类文件编译速度优化。

数字签名可以保证软件来自真实的软件发行者和软件代码没有被非法篡改。

使用Windows信任的根证书颁发机构颁发的证书签名的软件,Windows就会“信任”该软件;

如果软件没有数字签名,在Windows Vista和Windows 7中,运行软件时会提示:“安全警告:无法验证发行者,你确实要运行此软件吗?”


我来回复

您尚未登录,请登录后再回复。点此登录或注册