对把接口从实现中分离出来的疑惑???
//faststringitf.h
class __declspec(dllexport) FastStringItf{
class FastString;
FastString *m_pThis;
public:
......
};
使用这样的类声明为什么意味这FastString的类声明不需要被包含进
这个头文件中就能进行编译,那FastString的类声明及类实现究竟在何处呢?
请大虾为我解惑,万分感激!!!!
问题点数:50、回复次数:3Top
1 楼eagleyin(#define ME _NEWBIE_)回复于 2002-04-03 13:19:08 得分 20
不是有一行声明了么?
class FastString;
我们假设 FastString 在 FastString.hpp 里面声明,那么 FastStringItf的实现代码就要包含这个 FastString.hpp 文件了
另外,这段代码是不是COM本质论里面的啊?
Top
2 楼xiexue888(小子)回复于 2002-04-03 15:26:41 得分 0
对不起,是我自己一下糊涂了,这段代码的确是COM本质论中的,不知各位大虾对看此书有何指教,还有,DLL究竟是不是也是一个有main函数的由众多.cpp与.h组成的可以被连接和编译的程序呢,他的书写格式究竟与一般的程序有何本质区别?请各位大虾不吝赐教,小弟感激不尽!!!!!Top
3 楼eagleyin(#define ME _NEWBIE_)回复于 2002-04-03 17:03:05 得分 30
DLL 的入口是 DllMain(),你可以看看 Windows API的
DLL 可以导出你创建的函数给别人用,当然可以导出你封装在DLL里面的类,不过因为各个编译器名称重组的方法不一样,所以封装在 DLL 里面的类在使用上是有限制的,举个例子,在VC++里创建一个DLL封装了一个类,在C++ Builder 里面就很难使用。
关于如何创建一个 DLL, 看看 MSDN 吧Top




