VS2005编译的exe引用VS2012编译的dll
VS2005编译的exe引用VS2012编译的dll,VS的 framework不同,这样可以吗?
我这样做后,64位的程序没有问题。32位的程序有问题,dll中一个矩形的值,exe中获取到的变了(地址偏移)。获取值是通过传指针实现的。
exe中:
RECT tmpRect;
GetRect(&tmpRecct);
dll中:
void GetRect(Rect * dirtyRect )
{
...
dirtyRect->left = 0;
dirtyRect->top = 0;
dirtyRect->right = 1440;
dirtyRect->bottom = 900;
......
}
在exe获取到的矩形,变成了(0,0,0,1440)。如果循环赋值调用变形大概如下:
(0,221,64,24)------------>(0,0,221,64)
(22,55,77,88)------------>(0,22,55,77)
(55,554,2,32)------------>(0,55,554,2)
第一个值不知道获取的哪个地址,这可能是什么问题造成的?需要设置什么编译选项吗?
急,在线等。