C++在VS下创建、调用dll

1.dll的优点

代码复用是提高软件开发效率的重要途径。一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用。比较常见的例子是各种应用程序框架,ATL、MFC等,它们都以源代码的形式发布。由于这种复用是“源码级别”的,源代码完全暴露给了程序员,因而称之为“白盒复用”。“白盒复用”的缺点比较多,总结起来有4点。 暴露了源代码;多份拷贝,造成存储浪费; 容易与程序员的“普通”代码发生命名冲突; 更新功能模块比较困难,服务器空间,不利于问题的模块化实现; 实际上,以上4点概括起来就是“暴露的源代码”造成“代码严重耦合”。为了弥补这些不足,就提出了“二进制级别”的代码复用。使用二进制级别的代码复用一定程度上隐藏了源代码,虚拟主机,对于缓解代码耦合现象起到了一定的作用。这样的复用被称为“黑盒复用”。 说明:实现“黑盒复用”的途径不只dll一种,静态链接库甚至更高级的COM组件都是。

2.dll的创建

参考程序原文: 新建“Win32项目”,美国空间,选择应用程序类型为”DLL”,其他默认。添加头文件testdll.h

//testdll.h#ifdef TESTDLL_EXPORTS #define TESTDLL_API __declspec(dllexport)#else #define TESTDLL_API __declspec(dllimport)#endif namespace MathFuncs { MyMathFuncs{public:TESTDLL_API double Add(double a, double b);TESTDLL_API double Subtract(double a, double b);TESTDLL_API double Multiply(double a, double b);// Returns a / bTESTDLL_API double Divide(double a, double b);}; }思想如钻子,必须集中在一点钻下去才有力量

C++在VS下创建、调用dll

相关文章:

你感兴趣的文章:

标签云: