c - 如何导入 C 库?

标签 c import cs50

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

最佳答案

下载所有文件,我想它们是cs50.hcs50.c

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

#include "cs50.h"

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

编者注

上述声明因具有误导性而受到批评。事实上,您可以使用 <>包含您自己的 header ,前提是您将这些 header 所在的目录作为编译器的搜索路径之一传递。

假设您要编译 foo.c,它使用位于/where/bar/lives/include/目录中名为 bar.h 的头文件和/中名为 libbar.a 的库where/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.包括当前工作目录并使用 <>随心所欲。

关于c - 如何导入 C 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46633409/

相关文章:

java - 为什么 importStatic Eclipse 模板变量需要命名空间?

linux - 如何将命令行参数传递给 CS50 ide 中的图形调试器?

无法解决浮点异常

c - 从文本文件读取数据到链表,错误处理

c - 在使用 C 的函数中返回字符串时遇到问题

c - 使程序在 C 中线性运行

python - 为什么不能在 Python 中重新导入?

python - 如何将cython函数导入cython脚本

c - 想在 C 中的下一个(for)循环中使用一个变量

java - 在 c++/python/java 中内置抽象数据类型