• 静态库


    1 静态库的创建

    (1)创建win32控制台应用程序

    (2)应用程序选择静态库

    注:不勾选预编译头项目为空项目

    (3)添加头文件和cpp文件

    头文件如下:

    #ifndef _TESTLIB_H_
    #define _TESTLIB_H_
    
    //计算两数之和
    int MyAdd(int num1, int num2);
    
    //计算两数之差
    int MySub(int num1, int num2);
    
    //计算两数之乘
    int MyMul(int num1, int num2);
    
    //计算两数之除
    int MyDiv(int num1, int num2);
    
    #endif//_TESTLIB_H_

    源文件如下:

    #include "testlib.h"
    
    #include <iostream>
    using namespace std;
    
    int MyAdd(int num1, int num2)
    {
        return num1 + num2;
    }
    
    int MySub(int num1, int num2)
    {
        return num1 - num2;
    }
    
    int MyMul(int num1, int num2)
    {
        return num1*num2;
    }
    
    
    int MyDiv(int num1, int num2)
    {
        if (num2 == 0)
            throw num1;
        return num1 / num2;
    }

    (4)编译生成lib文件

    2 静态库的使用

    (1)建立控制台应用程序,不再赘述

    (2)加载静态库,将lib库和头文件放到该项目目录下

      加载静态库的方法如下:

    (2.1)使用#pragma comment(lib,"ConsoleApplication4.lib")

        注:字符串为生成的静态库,可以包含路径

    (2.2)选择项目属性,链接器,输入,附加依赖项,添加lib文件

     (2.3)在资源文件添加静态库

    测试程序如下:

    #include "stdafx.h"
    #include "testlib.h"
    
    #include <iostream>
    using namespace std;
    
    #pragma comment(lib,"ConsoleApplication4.lib")
    
    
    int main()
    {
        int num1 = 10, num2 = 5;
        cout << MyAdd(num1, num2) << endl;    //15
        cout << MySub(num1, num2) << endl;    //5
        cout << MyMul(num1, num2) << endl;    //50
        cout << MyDiv(num1, num2) << endl;    //2
        
        try
        {
            num1 = 10, num2 = 0;
            cout << MyDiv(num1, num2) << endl;
        }
        catch (...)
        {
            cout << "除数不能为0" << endl;
        }
        return 0;
    }
  • 相关阅读:
    Gitlab邮箱配置
    Zabbix邮件告警提示Couldn't resolve host name解决办法
    Gitlab备份和恢复操作
    Gitlab权限管理
    编译安装Nginx
    [0] 数据库读写分离
    [0] C# & MongoDB
    [0] 平衡二叉树
    [0] 分布式存储 Memcached
    [0] MSSQL 分库查询
  • 原文地址:https://www.cnblogs.com/LuckCoder/p/11207923.html
Copyright © 2020-2023  润新知