调用脚本简介
调用脚本用于处理一个变量需引用另一个变量场景,支持以下脚本函数:
address,取变量地址;
ptrcpy, 拷贝指针;
sizeof, 取变量的size;
strlen, 取字符串长度;
lstrlen,取宽字符串长度。
应用调用脚本
在树表模式下,双击单元格进入编辑状态,右键菜单选择“调用脚本”,打开如下图所示的对话框,然后选择脚本,并选择作为脚本参数的变量,如下图:
点击“确定”,单元格中会填入调用脚本的代码,类似于:$strlen(pp_tail)。
在表格模式下,由于变量列表无法完整取得,所以不能使用“调用脚本”命令,但可以直接用同样的语法输入代码。
取变量地址与拷贝指针
address用于将另一个变量的地址赋给一个指针变量;ptrcpy用于将另一个指针变量赋给一个指针变量。
示例代码:
/*
调用脚本示例数据结构
*/
typedef
struct SDATA
{
int a;
int b;
}SDATA;
extern SDATA gSData;
extern SDATA* gpSData;
/*
调用脚本示例数据结构2
*/
typedef
struct MYSDATA
{
SDATA* ptr;
SDATA** pptr;
}MYSDATA;
/*
//////////////////////////////////////////////
数据表格:调用脚本
///////////////////////////////////////////////*/
int _11_CallScript(MYSDATA*
pMyData)
{
//应用address
if(pMyData->ptr
== &gSData)
{
return pMyData->ptr->a;
}
//应用ptrcpy
if(pMyData->ptr
== gpSData)
{
return pMyData->ptr->a;
}
//应用address
if(pMyData->pptr
== &gpSData)
{
return (*pMyData->pptr)->a;
}
}
测试数据如下图,对于参数的输入设置:
用例1,相当于代码:pMyData->ptr = &gSData;
用例2,相当于代码:pMyData->ptr = gpSData;
用例3,相当于代码:pMyData->pptr = &gpSData;
|