基本定义/差异b / w库和标题

时间:2013-12-16 16:19:25

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

我对这两个术语感到困惑:图书馆标题

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

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

但我无法准确了解这些术语。

1 个答案:

答案 0 :(得分:0)

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

实施例: 要使用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实现了这些功能,你必须在编译代码时链接这个库。