如何导入c库?

时间:2017-10-08 16:31:24

标签: c import cs50

我是编程新手并且正在参加cs50在线课程,该课程提供了一个带有IDE的在线容器,但为了解决问题集离线我下载了库文件,但我们无法在我的代码中引用它们,库导入语句被声明为未使用,并且该库中的函数被标记为不存在,任何人都可以伸出援助之手吗? print from the issue

2 个答案:

答案 0 :(得分:2)

下载所有文件,我认为它们是 cs50.h cs50.c

将两个文件放在主文件的同一目录中,并使用cs50.h的include语句,如下所示:

#include "cs50.h"

当我们使用不在标准库文件夹中的库时,我们必须将其包含在""而不是<>

编辑注释

上述陈述令人震惊,因为它具有误导性。您可以实际上使用<>来包含您自己的标头,前提是您将这些标头所在的目录作为编译器的搜索路径之一。

假设您要编译foo.c,它使用名为 bar.h的头文件驻留在/ where / bar / lives / include /目录中,以及一个名为libbar.a的库/在/ bar / lives / lib /目录下,然后在大多数C编译器中,您可以使用-I标志和-L标志来包含并将正确的位链接到项目中:

要编译你的程序foo.c,你会:

  

cc -I / where / bar / lives / include -o foo.o -c foo.c

要链接你:

  

cc -o foo foo.o -L / where / bar / lives / lib -lbar

这两个步骤将生成程序二进制文件foo

有趣的是,您可以使用-I.-L.来包含当前的工作目录,并将<>用于您心中的内容。

答案 1 :(得分:-1)

首先,该机制在C中称为include,正如代码本身所暗示的那样。

然后,您的问题出在#include声明中。使用<...>告诉编译器(特别是预处理器)查找系统中安装的库。要include本地图书馆,您应该使用"..."。使用此时,还要注意路径,因为它是相对的。 因此,考虑到您的文件夹结构,include语句应为

 #include "src/cs50.h"