静态库lib的编写

24 篇文章 1 订阅
23 篇文章 1 订阅
最早在学习的时候,写库文件比较少,所以有些记不清楚,今天写下来以便以后的学习和复习。
我写一个简单的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的编写
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值