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