您的当前位置:首页正文

C++ Windows DLL项目同时导出类、函数和变量(dll

2024-12-18 来源:东饰资讯网

使用Visual Studio建立新的library项目,就可以知道怎么做了。

头文件:

// 下列 ifdef 块是创建使从 DLL 导出更简单的
// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 PROJECT1_EXPORT
// 符号编译的。在使用此 DLL 的
// 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
// PROJECT1_API 函数视为自 DLL 导入,而此 DLL 则将用此宏定义的
// 符号视为是被导出的。
#ifdef PROJECT1_EXPORTS
#define PROJECT1_API __declspec(dllexport)
#else
#define PROJECT1_API __declspec(dllimport)
#endif

// 此类导出自 Project1.dll
class PROJECT1_API CProject1 {
public:
    CProject1(void);
    // TODO:  在此添加您的方法。
};

extern PROJECT1_API int nProject1;

PROJECT1_API int fnProject1(void);

源文件:

    // Project1.cpp: 定义 DLL 应用程序的导出函数。
//

#include "stdafx.h"
#include "Project1.h"


// 这是导出变量的一个示例
PROJECT1_API int nProject1=0;

// 这是导出函数的一个示例。
PROJECT1_API int fnProject1(void)
{
    return 42;
}

// 这是已导出类的构造函数。
// 有关类定义的信息,请参阅 Project1.h
CProject1::CProject1()
{
    return;
}
显示全文