• other:vs c++ 动态库、静态库的创建与调用


    vs c++ 动态库、静态库的创建与调用

    生成动态库、静态库

    一、 DLL项目的创建

    1.创建项目:

    菜单“文件"--->新建--->项目

    项目类型:win32控制台应用程序

    Win32应用程序向导--->应用程序类型:DLL--->附加选项:空项目--->完成

    二、添加类

    1.添加头文件:test.h

    namespace myLib

    {

        class myDll

        {

        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);

        };

    }

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

    2.添加源文件:test.cpp

    #include "testdll.h"

     

    namespace myLib

    {

        double myDll::Add(double a,double b)

        {

           return a+b;

        }

     

        double myDll::Subtract(double a, double b)

        {

           return a-b;

        }

    }

    3.确认此项目配置类型为生成DLL

    菜单“项目”--->“XXX项目属性”--->配置属性--->常规--->配置类型:选择“动态库dll”

    三、生成

    1.菜单“生成”--->生成解决方案

    2.查看生成结果

    注:若需生成静态库,在配置项目属性为静态属性lib

    菜单“项目”--->“XXX项目属性”--->配置属性--->常规--->配置类型:选择“静态库lib”

    使用动态库、静态库

    一、新建项目

    二、动态库环境的配置

    1. 包含头文件目录

    菜单“项目”--->项目属性--->配置属性--->vc++目录--->包含目录:添加上一步骤test.h文件所在目录

    2.包含库文件目录

    菜单“项目”--->项目属性--->配置属性--->vc++目录--->库目录:添加上一步骤生成的dll文件所在目录

    3.1若为动态库,需引用动态库文件dll

    菜单“项目”--->项目属性--->通用属性--->添加新引用--->添加上一步骤生成的dll文件

    3.2若为静态库,需包含静态库文件lib

    菜单“项目”à项目属性à配置属性à链接器à输入à附加依赖项:添加上一步骤生成的lib文件

    在项目中添加代码:#pragma  comment ( lib , ”XX.dll” )

    三、使用库文件

    #include "testdll.h"

     

    #include <iostream>

    using namespace std;

    using namespace myLib;

     

    int _tmain(int argc, _TCHAR* argv[])

    {

        cout<<myDll::Add(3.3,6.6)<<endl;   cout<<myDll::Subtract(3,2.1)<<endl;

     

        return 0;

    }

  • 相关阅读:
    vs中无法找到头文件
    c++ vector 用法
    c++ queue 用法
    c++ 中 毫秒级时间获取
    vs2013 boost signals
    vs2013环境下boost配置
    C++ static 用法
    fopen()和fclose()
    删除字符串尾的回车符
    WaitForSingleObject()
  • 原文地址:https://www.cnblogs.com/mutou3221/p/3188449.html
Copyright © 2020-2023  润新知