首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

DLL有关问题

2012-03-12 
DLL问题在vs2008下我想这样:在一个解决方案里,一个主要项目,生成exe的,有几个头文件,有自定义类,像://A.hc

DLL问题
在vs2008下

我想这样:
在一个解决方案里,

一个主要项目,生成exe的,
有几个头文件,有自定义类,
像:
//A.h
class A{//...};

一个DLL项目,用到第一个项目的类,
用到了指向类的指针,
要调用类的成员函数,
像:
#include "project1\A.h"
extern "C" __declspec(dllexport) void do(DWORD,A*);

我把第一个项目的头文件添加到第二个项目里了,
两个项目都用了\MDd了,

但是传到DLL函数的指针虽然是对的,
但是断点看指针的数据是错误的,
跟在主要项目里的指针的数据不一样,
导致稀奇古怪的结果,
但是指针是一样的!!!!!!

代码我写了很长了,贴不完。
可能是什么错了?
请教各位大牛。

[解决办法]

探讨

这样做当然是错的。

1. 一般而言,用反了,应该把类定义在DLL中,导出(dllexport) ,然后EXE导入(dllimport)使用。
2. 最好是DLL和EXE各自创建类的实例,不要跨过去使用,比如EXE创建类实例,传递指针给DLL。
这样做也是不对的。

[解决办法]
ctrl + alt + m, 1直接看内存

热点排行