/*************************************************************
* 下列 ifdef 块是创建使从 DLL 导出更简单的宏的标准方法。
* 此 DLL 中的所有文件都是用命令行上定义的 PDF_EXPORTS 符号编译的。 【PDF_EXPORTS ,用户在生成dll工程中定义,实现 dll export,
* 在使用此 DLL 的任何其他项目上不应定义此符号。 在引用中不用,直接会调用 dll import】
* 这样,源文件中包含此文件的任何其他项目都会将 PDF_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的符号视为是被导出的。
**************************************************************/
// *************** 头文件 *******************
#ifdef PDF_EXPORTS
#define PDF_API __declspec(dllexport)
#else
#define PDF_API __declspec(dllimport)
#endif
PDF_API HRESULT
OpenPdf();
// *************** 实现文件 *******************
PDF_API HRESULT OpenPdf()
{
}
// *************** 调用库文件,可直接通过下列方法调用 *******************
#pragma comment(lib,"mylib.lib")
本文介绍了一种使用ifdef宏来简化DLL中函数导出的过程。通过在头文件中定义一个预处理器符号,可以确保在DLL内部函数被视为导出,并在引用该DLL的项目中被视为导入。
799

被折叠的 条评论
为什么被折叠?



