做了一个DLL文件里面有个数组比如我定义了一个全局数组CString arr1[3][10];
在外面调用函数getarr就会用到数组arr1
CString getarr()//不知定义为CString还行?
{
for(int i=0;i<3;i++)
for(int j=0;j<10;j++)
arr1[i][j]=i+j;return arr1;//这里返回可不正确啊???请问大家如何改呀
}
在外面调用函数getarr就会用到数组arr1
CString getarr()//不知定义为CString还行?
{
for(int i=0;i<3;i++)
for(int j=0;j<10;j++)
arr1[i][j]=i+j;return arr1;//这里返回可不正确啊???请问大家如何改呀
}
然后在dll里面赋值,你现在这个数组是定义在dll里面的了
直接做参数传进去不就行了,全局的在函数体结束后不会释放的....
{
for(int i=0;i<3;i++)
for(int j=0;j<10;j++)
arr1[i][j]=i+j;return arr1;
}
忘了说了,这个数组是定义在DLL文件里
这个方法可以编译通过,非常感谢再请问一下,在调用函数如何调用啊?怎么转呢?
可否举一下例子
不需要返回值前,我这样调用就可以了
typedef CString (*ADDPROC)();
ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"getarr");
Add();//这样调用就行了那现在,我按以下方法数组数组不正确..(CString已改为LPVOID)
CString arr2[3][10];
arr2=Add();
for(int i=0;i<3;i++)
for(int j=0;j<10;j++)
AfxMessageBox(arr2[i][j]);ps:刚才又在基础类中发了个,解决后接分地就跟吧:)
http://community.csdn.net/Expert/topic/4921/4922000.xml?temp=.8342249