1Ϊ˷c++ȱ, ֵ֧ñ׼̬ӿĺ.
2ӣ
/*֪ļ D:\test.dll 2
double maxt(double *a, int n)
{
	int i,j;
	for(i=0,j=1;j<n;j++)
	{
		if(a[i]<a[j])i=j;
	}
	return a[i];
}
double *reversion(double*a,int n,double*temp)
{
	int i,j;
	for(i=0,j=n-1;i<n;i++,j--)
	{
		temp[j]=a[i];
	}
	return temp;
}
*/
//ʼʹñִ
hdll={ApiLoadLibrary<\ApiLoadLibrary>}("D:\test.dll"); //dllhdll


//**********************************************************************
hfun={ApiGetProcAddress<\ApiGetProcAddress>}(hdll,"maxt"); //úhfun
VarType=[2,4]; RetType=1; hparam={ApiParameterCreate<\ApiParameterCreate>}(VarType,RetType); //hparam

data=[1,2,3,4];n=4;//1
x={ApiRun<\ApiRun>}(hfun,hparam,data,n)//ִкõ½
x =
[ 4.00000000000000 ]

data=[1,2,3.56,2];//2
x={ApiRun<\ApiRun>}(hfun,hparam,data,4)//ִкõ½
x =
[ 3.56000000000000 ]

ApiParameterClose(hparam)//ִбԲͷ

//**********************************************************************
hfun={ApiGetProcAddress<\ApiGetProcAddress>}(hdll,"reversion"); //úhfun
VarType=[2,4,2]; RetType=2; hparam={ApiParameterCreate<\ApiParameterCreate>}(VarType,RetType); //hparam
data=[1,2,3,4];n=4;temp=Zeros(1,4);//
z={ApiGetProcAddress<\ApiGetProcAddress>}(hfun,hparam,data,n,1,4)//سõ½,ע1,4ʾزΪ1*4ľ
z =
[ 1.00000000000000    2.00000000000000    3.00000000000000    4.00000000000000 ]

{ApiParameterClose<\ApiParameterClose}(hparam)//ִбԲͷ


//************************************************
{ApiFreeLibrary<\ApiFreeLibrary>}(hdll)//ͷdllļ