理解C++中header与library区别

  • 问题描述

    From C++ references, is a library, but others are headers. What’s the difference between them.

  • Difference between Header file and Library

  1. Header files

    The files that tell the compiler how to call some functionality (without knowing how the functionality actually works) are called header files. They contain the function prototypes. They also contain data types and constants used with the libraries.

    We use #include to use these header files in programs.

    These files end with .h extension.

  2. Library

    Library is the place where the actual functionality is implemented i.e. they contain function body. Libraries have mainly two catefories:

    • Static

      Static libraries contains object code linked with an end user application and then they become the part of the executable. These libraries are specifically used at compile time which means the library should be present in correct location when user wants to compiler his C or C++ program. In windows they end with .lib extension and with .a for MacOS.

    • Shared or Dynamic

      These libraries are only required at run-time i.e, user can compile his/her code without using these libraries.

      In short these libraries are linked against at compiler time to resolve undefined references and then its distributed to appication so that application can load it at run time.

      For example, when we open our game folders we can find many .dll (dynamic link libraries) files. As these libraries can be shared by multiple programs, they are also called as shared libraries. These files end with .dll or .lib extensions.

  • An analogy between them

The header is a phone number you can call, while …

The library is the actual person you can reach there !

It’s the fundamental difference between “interface” and “implementation”; the interface (header) tells you how to call some functionality (without knowing how it works), while the implementation (library) is the actual functionality.

  • References

  1. GeeksforGeeks : Difference between Header file and Library
  2. What’s the difference between a header file and a library?
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值