的功能可以说我有以下功能在我的DLL:C/C++ - 指针传递在DLL
void TestFunction(int type, void* data)
现在,功能是从它加载该DLL的应用程序调用。应用程序初始化一个结构并发送指向该结构的指针:
SampleStruct strc;
TestFunction(DT_SS, &ss);
到目前为止这么好。现在困扰我的是如何用另一个结构替换内存中的strcc变量。如果我做我的DLL如下:
SampleStruct dllstrcc;
data = &dllstrcc;
数据现在将指向新dllstrcc结构然而,当它存在的功能和控制返回给应用程序STRC仍然会指向第一个结构。我怎么能取代从DLL我的结构的应用程序的结构不分配每个字段:
data.vara = dllstrcc.vara;
data.varb = dllstrcc.varb;
data.varc = dllstrcc.varc;
首先让我注意,它听起来就像你在途中不确定的行为(通过赠送指向本地数据),并指出,构建像'无效*'应避免在C++(没有双关语意)(因为大部分时间都可能)。这就是说:如何引用/指针指针,这将让你更换呼叫者网站上的指针? – Nobody 2012-08-10 15:37:24
@无人在现实中,它不是一个空白*,但可以说它归结为它。至于指针的指针,我不能控制应用程序和dll函数。然而,函数内的代码在我的控制之下。 – oipoistar 2012-08-10 15:43:36
如果你被绑定到那个界面,你可以做的事情不多。 – Nobody 2012-08-10 15:46:38