创建MFC规则DLL

2011年12月27日 分类:学习笔记C++

启动VS2010,文件、新建、项目、MFC模板、MFC DLL。
下一步,选择共享MFC DLL,完成。

修改.def文件,添加导出函数名称。

; factorial.def : 声明 DLL 的模块参数。

LIBRARY  "factorial"

EXPORTS
    ; 此处可以是显式导出
 fact

在.h文件中声明导出函数。

// factorial.h : factorial DLL 的主头文件
//

#pragma once

#ifndef __AFXWIN_H__
 #error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件"
#endif

#include "resource.h"  // 主符号


// CfactorialApp
// 有关此类实现的信息,请参阅 factorial.cpp
//
extern"C" int PASCAL EXPORT fact(int n);
class CfactorialApp : public CWinApp
{
public:
 CfactorialApp();

// 重写
public:
 virtual BOOL InitInstance();

 DECLARE_MESSAGE_MAP()
};

在.cpp文件中定义函数实现部分。

// factorial.cpp : 定义 DLL 的初始化例程。
//

#include "stdafx.h"
#include "factorial.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// CfactorialApp

BEGIN_MESSAGE_MAP(CfactorialApp, CWinApp)
END_MESSAGE_MAP()


// CfactorialApp 构造

CfactorialApp::CfactorialApp()
{
 // TODO: 在此处添加构造代码,
 // 将所有重要的初始化放置在 InitInstance 中
}


// 唯一的一个 CfactorialApp 对象

CfactorialApp theApp;


// CfactorialApp 初始化

BOOL CfactorialApp::InitInstance()
{
 CWinApp::InitInstance();

 return TRUE;
}
extern "C" int PASCAL EXPORT fact(int n)
{
 return n;
}

最后编译生成dll文件。

作者:wuyuan 本文来自Wuyuan's Blog 转载请注明,谢谢! 文章地址: https://wuyuans.com/2011/12/creating-rules-mfc-dll