【问题标题】:Basic definitions/difference b/w Library and Headers [duplicate]库和标题之间的基本定义/区别[重复]
【发布时间】:2013-12-16 16:19:25
【问题描述】:

我对这两个术语感到困惑:LibraryHeaders

据我所知,Headers 包含函数定义,但我没有任何 Library 的概念。我是一名新程序员,并且使用过一点 C 语言。我现在正在学习 C#,所以请保持简单的解释。如果可能的话,也提供示例,因为我已经尝试过这个链接:

What's the difference between a header file and a library?

但我无法在脑海中准确描述这些术语。

【问题讨论】:

  • 好吧,如果那个 stackoverflow 的答案不够清楚......

标签: shared-libraries static-libraries header-files


【解决方案1】:

正如链接所说,接口(标题)告诉您如何调用某些功能(不知道它是如何工作的),而实现(库)是实际功能。

示例: 要使用 printf 函数,您需要包含标题,并且告诉您如何调用 printf 函数。它说,printf 可以这样调用

int printf ( const char * format, ... );

库是实现它的库

int printf ( const char * format, ... )
{
    ...
    ...
    ...
}

再举一个例子: 在 linux 上,如果你想使用 xml 文件,有 libxml 库。假设,如果你想读取一个 xml 文件,有像

这样暴露的函数
xmlTextReaderRead,  `xmlReaderForFile` etc...

这些函数是在头文件<libxml/xmlreader.h>中声明的,意思是这个<libxml/xmlreader.h>头告诉你如何调用上面所说的函数,意味着这个函数需要什么参数,它的返回值是什么。

libxm2实现了这些功能,你必须在编译代码时链接这个库。

【讨论】:

    猜你喜欢
    • 2011-05-23
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2012-11-10
    • 2014-05-03
    • 2014-08-16
    相关资源
    最近更新 更多