zoukankan      html  css  js  c++  java
  • 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;

    }

  • 相关阅读:
    Windows各系统关闭更新(winXP/win2003/win7/win8/win2012/win10)
    SSH框架搭建与整合
    Servlet转发和重定向response.sendRedirecte()区别 (转)
    el 表达式用法(转)
    数组和集合(collection)调用syso输出时,结果不一致问题
    Java 接口和抽象类可以被new么?
    Dbutils
    dbutils使用---QueryRunner(query_update)、BeanListBeanHandler、MapListMapHandler、ScalarHandler
    Hadoop参数:fs.defaultFS、 dfs.name.dir 、 dfs.data.dir
    工厂设计模式(三种)详解
  • 原文地址:https://www.cnblogs.com/mutou3221/p/3188449.html
Copyright © 2011-2022 走看看