求怎么封装动态链接库dll文件

博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)封装DLL_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
&&介绍封装DLL方法及注意事项,例子简单易懂实用
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩3页未读,
定制HR最喜欢的简历
你可能喜欢C++封装DLL,导出一个类
作者这里参考了下面两篇博文:
首先:建一个DLL工程,win32项目--DLL--确定;
在头文件中定义要导出的类:
在相应的.cpp文件中实现:
三、编译源文件(快捷键F7),在../CWordSegment/Debug目录下生成DLL的两个最终要的文件,这个应该不用解释了吧
CWordSegment.dll
CWordSegment.lib&
&&就此,DLL就搞好了,
下面如何调用这个lib文件:
也很简单:建一个测试工程控制台应用程序:
然后把上面生产的库文件加进来,可以用相对路径也可以用绝对路径;这个随便;
一般相对路径加入的方法:
(1)链接器--&常规--&附加依赖目录 加入进来即可;
(2)链接器--&常规--&附加依赖项 加入lib库名称;
然后就是导出类:
欢迎沟通学习:扣扣
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。将VBA代码编译封装成为DLL动态链接库方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
将VBA代码编译封装成为DLL动态链接库方法
&&应用VB将VBA代码编译封装成为DLL动态链接库方法。
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩1页未读,
定制HR最喜欢的简历
你可能喜欢VC++ 程序 如何封装为dll文件_百度知道
VC++ 程序 如何封装为dll文件
如何将vc++程序 封装为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
// 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.hnamespace MathFuncs{
class MyMathFuncs
// 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&
namespace MathFuncs
double MyMathFuncs::Add(double a, double b)
return a +
double MyMathFuncs::Subtract(double a, double b)
return a -
double MyMathFuncs::Multiply(double a, double b)
return a *
double MyMathFuncs::Divide(double a, double b)
if (b == 0)
throw new invalid_argument(&b cannot be zero!&);
return a /
}// MathFuncsDll.cpp// compile with: /EHsc /LD#include &MathFuncsDll.h&#include &stdexcept&namespace MathFuncs{
double MyMathFuncs::Add(double a, double b)
return a +
double MyMathFuncs::Subtract(double a, double b)
return a -
double MyMathFuncs::Multiply(double a, double b)
return a *
double MyMathFuncs::Divide(double a, double b)
if (b == 0)
throw new invalid_argument(&b cannot be zero!&);
return a /
}}若要将项目生成为 DLL,请从 “项目”菜单中选择 MathFuncsDll “属性...”。 在左窗格中,选择 “配置属性”下的 “常规”。 在右窗格中,将 “配置类型”更改为 “动态库(.dll)”。 单击 “确定”保存更改。说明如果您从命令行生成项目,请使用 /LD 编译器选项指定输出文件应为 DLL。 有关更多信息,请参见 /MD、/MT、/LD(使用运行库)。编译该动态链接库,方法是选择 “生成”菜单中的 “生成解决方案”。 这样就创建了一个可供其他程序使用的 DLL。
采纳率:37%
新建win32项目,dll,然后把你的类(可以不写类),函数声明及实现,都写进去,可以用extern &C& 指定为标准C语言调用,_declspec(dllexport),或者使用def文件来导出你的函数,导出的函数均可以避免编译器改变函数名。这样,其它语言可以直接调用函数了,当然,有些情况下,其它语言可能无法调用,比如,C语言调用C++ DLL时,bool型可能会出错,又如,C++中的引用,在C语言中是无法使用的,只能用指针来实现。
为您推荐:
其他类似问题
dll文件的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 dll动态链接库修复 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信