静态库lib的编写
最早在学习的时候,写库文件比较少,所以有些记不清楚,今天写下来以便以后的学习和复习。
我写一个简单的lib库,正所谓知微见著,希望也能给大家带来帮助。
我使用的是VS2013编写库,首先创建一个静态库的工程,如下图所示:




然后写一个头文件命名为:Lib.h
内容为:
#ifndef _LIB_H_
#define _LIB_H_
extern "C" int max(int first, int second);
extern "C" int min(int first, int second);
extern "C" int sum(int first, int second);
extern "C" int sub(int first, int second);
#endif
然后写一个CPP文件,命名为:DemoLib.cpp
内容为:
#include "stdafx.h"
#include "lib.h"
int max(int first, int second)
{
我写一个简单的lib库,正所谓知微见著,希望也能给大家带来帮助。
我使用的是VS2013编写库,首先创建一个静态库的工程,如下图所示:
然后写一个头文件命名为:Lib.h
内容为:
#ifndef _LIB_H_
#define _LIB_H_
extern "C" int max(int first, int second);
extern "C" int min(int first, int second);
extern "C" int sum(int first, int second);
extern "C" int sub(int first, int second);
#endif
然后写一个CPP文件,命名为:DemoLib.cpp
内容为:
#include "stdafx.h"
#include "lib.h"
int max(int first, int second)
{
return first> second ? first : second;
}
int min(int first, int second)
{
return first< second ? first : second;
}
int sum(int first, int second)
{
return(first + second);
}
int sub(int first, int second)
{
return(first - second);
}
贴图显示:Lib.h文件和DemoLib.cpp文件


我们编译完成后就会生成一个库文件:DemoLib.lib。这个是我们下面需要的。
如图所示:

该文件在Dubug目录下。但注意在生成的工程的dubug目录下,不在子项目的dubug目录下。
现在这个就是我们要使用的库文件。
我们现在再编写一个控制台的空项目程序。并且新建一个名为:testDemoLib.cpp文件
内容为:
#include "Lib.h" //需要添加的头文件
#include "iostream"
#pragma comment(lib, "DemoLib.lib")//需要添加的库文件
int main()
{
int firstNum= 9, secondNum = 5;
std::cout<< "max(" << firstNum << ", " << secondNum<< ") = " << max(firstNum, secondNum) <<std::endl;
std::cout<< "min(" << firstNum << ", " << secondNum<< ") = " << min(firstNum, secondNum) <<std::endl;
std::cout<< "sum(" << firstNum << ", " << secondNum<< ") = " << sum(firstNum, secondNum) <<std::endl;
std::cout<< "sub(" << firstNum << ", " << secondNum<< ") = " << sub(firstNum, secondNum) <<std::endl;
return0;
}
如图所示:

并需要把上一个编写生成的库DemoLib.lib文件放到与testDemoLib.cpp相同的目录一下,并把上一个头文件Lib.h文件放到当前目录下。
如图所示:

最后编译运行,结果如图所示:

}
int min(int first, int second)
{
return first< second ? first : second;
}
int sum(int first, int second)
{
return(first + second);
}
int sub(int first, int second)
{
return(first - second);
}
贴图显示:Lib.h文件和DemoLib.cpp文件
我们编译完成后就会生成一个库文件:DemoLib.lib。这个是我们下面需要的。
如图所示:
该文件在Dubug目录下。但注意在生成的工程的dubug目录下,不在子项目的dubug目录下。
现在这个就是我们要使用的库文件。
我们现在再编写一个控制台的空项目程序。并且新建一个名为:testDemoLib.cpp文件
内容为:
#include "Lib.h" //需要添加的头文件
#include "iostream"
#pragma comment(lib, "DemoLib.lib")//需要添加的库文件
int main()
{
int firstNum= 9, secondNum = 5;
std::cout<< "max(" << firstNum << ", " << secondNum<< ") = " << max(firstNum, secondNum) <<std::endl;
std::cout<< "min(" << firstNum << ", " << secondNum<< ") = " << min(firstNum, secondNum) <<std::endl;
std::cout<< "sum(" << firstNum << ", " << secondNum<< ") = " << sum(firstNum, secondNum) <<std::endl;
std::cout<< "sub(" << firstNum << ", " << secondNum<< ") = " << sub(firstNum, secondNum) <<std::endl;
return0;
}
如图所示:
并需要把上一个编写生成的库DemoLib.lib文件放到与testDemoLib.cpp相同的目录一下,并把上一个头文件Lib.h文件放到当前目录下。
如图所示:
最后编译运行,结果如图所示: