静态库lib的编写

来源:互联网 发布:淘宝网豆豆鞋 编辑:程序博客网 时间:2024/06/05 02:19
最早在学习的时候,写库文件比较少,所以有些记不清楚,今天写下来以便以后的学习和复习。
我写一个简单的lib库,正所谓知微见著,希望也能给大家带来帮助。
我使用的是VS2013编写库,首先创建一个静态库的工程,如下图所示:
静态库lib的编写

静态库lib的编写

静态库lib的编写

静态库lib的编写


然后写一个头文件命名为: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文件
静态库lib的编写

静态库lib的编写

  我们编译完成后就会生成一个库文件:DemoLib.lib。这个是我们下面需要的。
如图所示:
静态库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;
}
如图所示:
静态库lib的编写



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


   最后编译运行,结果如图所示:
静态库lib的编写
原创粉丝点击