• VS2008生成DLL并使用


    1.创建工程

    2.在工程中添加类,创建.h和.cpp文件

    //.h代码

    /**
    请注意此代码方法声明中的 __declspec(dllexport) 修饰符。
    这些修饰符使 DLL 能够导出该方法以供其他应用程序使用。
    */

     1 namespace MathFuncs
     2 {
     3     class MyMathFuncs
     4     {
     5     public:
     6         // Returns a + b
     7         static __declspec(dllexport) double Add(double a, double b);
     8  
     9         // Returns a - b
    10         static __declspec(dllexport) double Subtract(double a, double b);
    11  
    12         // Returns a * b
    13         static __declspec(dllexport) double Multiply(double a, double b);
    14  
    15         // Returns a / b
    16         // Throws DivideByZeroException if b is 0
    17         static __declspec(dllexport) double Divide(double a, double b);
    18     };
    19 }

    //.cpp代码

     1 // MathFuncsDll.cpp
     2 // compile with: /EHsc /LD
     3  
     4 #include "MathFuncsDll.h"
     5  
     6 #include <stdexcept> 7  
     8 using namespace std;
     9  
    10 namespace MathFuncs
    11 {
    12     double MyMathFuncs::Add(double a, double b)
    13     {
    14         return a + b;
    15     }
    16  
    17     double MyMathFuncs::Subtract(double a, double b)
    18     {
    19         return a - b;
    20     }
    21  
    22     double MyMathFuncs::Multiply(double a, double b)
    23     {
    24         return a * b;
    25     }
    26  
    27     double MyMathFuncs::Divide(double a, double b)
    28     {
    29         if (b == 0)
    30         {
    31             throw new invalid_argument("b cannot be zero!");
    32         }
    33  
    34         return a / b;
    35     }
    36 }

    3.生成解决方案

    4.使用生成的DLL

    创建一个一般的win32工程,生成一个main.cpp文件并输入如下代码:

    1 #include "MathFunsDll.h"
    2 #include<iostream>
    3 using namespace std;
    4 
    5 int main()
    6 {
    7     cout<<MathFuncs::myMathFun::Add(1.1,2.2)<<endl;
    8     return 0;
    9 }

    5.设置该工程的属性
    将之前生成的lib,dll和.h文件提出来放到一个文件夹(我放在桌面的temp文件其路径为C:UsersLCDesktop emp)

    设置属性:项目-->属性-->c/c++-->常规-->附加包含目录中输入:C:UsersLCDesktop emp

    项目-->属性-->连接器-->常规-->附加库目录:C:UsersLCDesktop emp

    项目-->属性-->连接器-->输入-->附加依赖项:Test.lib

    属性设置完毕,可以运行程序了。

  • 相关阅读:
    作为一名程序员这些代码托管工具你都知道吗?
    QA小课堂:一个网站或者APP开发要多少钱
    成为优秀程序员必备的七点
    成为一个优秀程序员的11条小贴士
    如何成为优秀的程序员?
    互联网自由工作者必须要知道的七点
    为什么程序员会是特立独行的存在?
    互联网时代程序员如何避免知识半衰期?
    万众创新:你是一个优秀的程序员吗?
    如何提高程序员10倍的生产力
  • 原文地址:https://www.cnblogs.com/LCCRNblog/p/3625200.html
Copyright © 2020-2023  润新知