
a.打开visualstudio-文件-新建-项目-类库-名称MyTestDll;
b.右键Class1.cs-修改为TestDll.cs
c.在里面写一个自己想 *** 作的函数
d.保存-生成解决方案;
e.这是你的Debug文件夹下就会有一个MyTestDll.dll文件,你就可以把它放在你想引用的工程。
DLL是Dynamic Link Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。
创建新的动态链接库 (DLL) 项目从 “文件”菜单中,选择 “新建”,然后选择 “项目…”。
在 “项目类型”窗格中,选择 “Visual C++”下的 “Win32”。
在 “模板”窗格中,选择 “Win32 控制台应用程序”。
为项目选择一个名称,如
MathFuncsDll,并将其键入 “名称”字段。 为解决方案选择一个名称,如
DynamicLibrary,并将其键入 “解决方案名称”字段。
单击 “确定”启动 Win32 应用程序向导。
在 “Win32 应用程序向导”对话框的 “概述”页中,单击 “下一步”。
在 “Win32 应用程序向导”中的 “应用程序设置”页中,选择 “应用程序类型”下的 “DLL”(如果可用),或者选择 “控制台应用程序”(如果 “DLL”不可用)。 某些版本的 Visual Studio
不支持通过使用向导创建 DLL 项目。您可以稍后对此进行更改,以将项目编译为
DLL。
在 “Win32 应用程序向导”的 “应用程序设置”页中,选择 “附加选项”下的 “空项目”。
单击 “完成”创建项目。
向动态链接库添加类
若要为新类创建头文件,请从 “项目”菜单中选择 “添加新项…”。
将显示 “添加新项”对话框。
在 “类别”窗格中,选择 “Visual C++”下的 “代码”。 在 “模板”窗格中选择 “头文件(.h)”。 为头文件选择一个名称,如
MathFuncsDll.h,并单击 “添加”。 将显示一个空白文件。
添加一个名为“MyMathFuncs”的简单类,以执行常见的算术运算,如加、减、乘和除。代码应与以下内容类似:
以带有颜色区分的格式查看复制到剪贴板打印
// MathFuncsDll.h
namespace MathFuncs
{
class MyMathFuncs
{
public:
// Returns a + b
static __declspec(dllexport) double Add(double a, double b)
// Returns a - b
static __declspec(dllexport) double Subtract(double a, double b)
// Returns a * b
static __declspec(dllexport) double Multiply(double a, double b)
// Returns a / b
// Throws DivideByZeroException if b is 0
static __declspec(dllexport) double Divide(double a, double b)
}
}
// MathFuncsDll.h
namespace MathFuncs
{
class MyMathFuncs
{
public:
// Returns a + b
static __declspec(dllexport) double Add(double a, double b)
// Returns a - b
static __declspec(dllexport) double Subtract(double a, double b)
// Returns a * b
static __declspec(dllexport) double Multiply(double a, double b)
// Returns a / b
// Throws DivideByZeroException if b is 0
static __declspec(dllexport) double Divide(double a, double b)
}
}
请注意此代码方法声明中的 __declspec(dllexport) 修饰符。 这些修饰符使 DLL
能够导出该方法以供其他应用程序使用。有关更多信息,请参见 dllexport, dllimport。
若要为新类创建源文件,请从 “项目”菜单中选择 “添加新项…”。
将显示 “添加新项”对话框。
在 “类别”窗格中,选择 “Visual C++”下的 “代码”。 在 “模板”窗格中,选择 “C++ 文件(.cpp)”。 为源文件选择一个名称,如
MathFuncsDll.cpp,并单击 “添加”。 将显示一个空白文件。
在源文件中实现“MyMathFuncs”的功能。代码应与以下内容类似:
以带有颜色区分的格式查看复制到剪贴板打印
// MathFuncsDll.cpp
// compile with: /EHsc /LD
#include "MathFuncsDll.h"
#include <stdexcept>
using namespace std
namespace MathFuncs
{
double MyMathFuncs::Add(double a, double b)
{
return a + b
}
double MyMathFuncs::Subtract(double a, double b)
{
return a - b
}
double MyMathFuncs::Multiply(double a, double b)
{
return a * b
}
double MyMathFuncs::Divide(double a, double b)
{
if (b == 0)
{
throw new invalid_argument("b cannot be zero!")
}
return a / b
}
}
// MathFuncsDll.cpp
// compile with: /EHsc /LD
#include "MathFuncsDll.h"
#include <stdexcept>
using namespace std
namespace MathFuncs
{
double MyMathFuncs::Add(double a, double b)
{
return a + b
}
double MyMathFuncs::Subtract(double a, double b)
{
return a - b
}
double MyMathFuncs::Multiply(double a, double b)
{
return a * b
}
double MyMathFuncs::Divide(double a, double b)
{
if (b == 0)
{
throw new invalid_argument("b cannot be zero!")
}
return a / b
}
}
若要将项目生成为 DLL,请从
“项目”菜单中选择
MathFuncsDll “属性...”。 在左窗格中,选择 “配置属性”下的 “常规”。
在右窗格中,将 “配置类型”更改为 “动态库(.dll)”。
单击 “确定”保存更改。
说明
如果您从命令行生成项目,请使用
/LD 编译器选项指定输出文件应为 DLL。
有关更多信息,请参见 /MD、/MT、/LD(使用运行库)。
编译该动态链接库,方法是选择
“生成”菜单中的 “生成解决方案”。
这样就创建了一个可供其他程序使用的
DLL。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)