在主程序中,我有许多不同的结构和相关类型,我调用一个外部函数,我将其保存在一个单独的dll中:
typedef struct{int a; int b; int c; int d;} t1;
typedef struct{int x; int y; double z; double w;} t2;
// ...
int ret;
char* s="blah";
t1* parms1;
t2* parms2;
ret=MyFunc(s, t1);
//...
ret=MyFunc(s, t2);
在dll中,以上类型既未定义也未知,我有以下功能:
__declspec(dllexport) int MyFunc(char* pstmt, void* pRS){
//--
}
我的问题是,有没有办法访问(即读取/设置)dll中传递的struct元素?比如,基于位置的访问或类似的东西?例如,我希望能够写出如下内容:
pRS->*<either a or x>*=*<something>*
答案 0 :(得分:0)
你需要cast
(void *)到任何想要的结构,如你的情况:
((t1*)pRS)->a=0;
或
((t2*)pRS)->x=0;