静态库

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

 

posted @ 2019-07-18 16:02  Truman001  阅读(262)  评论(0编辑  收藏  举报