我对这两个术语感到困惑:图书馆和标题。
标题包含函数定义据我所知,但我没有任何库的概念。我是一名新程序员,并且使用过C语言。我现在正在学习C#,所以请用简单的术语来解释。如果可能的话也提供示例,因为我尝试过这个链接:
What's the difference between a header file and a library?
但我无法准确了解这些术语。
答案 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
实现了这些功能,你必须在编译代码时链接这个库。