最近接手一个项目,在看源码,对其中的代码有些不太理解,求解释//xx.h
#ifdef xxxx
#define xxxx_LIB_API __declspec(dllexport)
#else
#define xxxx_LIB_API __declspec(dllimport)
#endifclass xxxx_LIB_API DeviceLogger {
public:
virtual void Debug(LPCTSTR strMsg) = 0;
virtual void Info(LPCTSTR strInfo) = 0;
virtual void Warn(LPCTSTR strWarn) = 0;
virtual void Error(LPCTSTR strError) = 0;
virtual void Fatal(LPCTSTR strFatal) = 0;
};
.......
还有其他的几个类,类得内容基本上都是类似的virtual前缀的函数和成员等。我的问题是我只发现了xx.h这个头文件,没有实现的文件,并且这里面的几个类没有在其他地方被继承而是直接定义类对象并使用,在源程序的bin目录下发现了几个DLL文件。
问题:
代码中未发现有类似于LoadLibrary等加载DLL操作,是不是哪个地方可以设置下就可以使用了?
#ifdef xxxx
#define xxxx_LIB_API __declspec(dllexport)
#else
#define xxxx_LIB_API __declspec(dllimport)
#endifclass xxxx_LIB_API DeviceLogger {
public:
virtual void Debug(LPCTSTR strMsg) = 0;
virtual void Info(LPCTSTR strInfo) = 0;
virtual void Warn(LPCTSTR strWarn) = 0;
virtual void Error(LPCTSTR strError) = 0;
virtual void Fatal(LPCTSTR strFatal) = 0;
};
.......
还有其他的几个类,类得内容基本上都是类似的virtual前缀的函数和成员等。我的问题是我只发现了xx.h这个头文件,没有实现的文件,并且这里面的几个类没有在其他地方被继承而是直接定义类对象并使用,在源程序的bin目录下发现了几个DLL文件。
问题:
代码中未发现有类似于LoadLibrary等加载DLL操作,是不是哪个地方可以设置下就可以使用了?
----------------------------
追一下赋值,估计没什么太大意思,就是个log
不可能没有lib文件吧,那样的话导出类的引用太麻烦了。
public CObject
{
public:
b(void);
~b(void);private:
xxx* dev;
public:
// 其他的函数定义
}在类b的其他函数里,有些就是直接使用dev里面的函数。