C语言中的CS50库

时间:2016-02-27 21:45:21

标签: c install cs50

我是Ubuntu的新手,也是C编程的新手。现在我正在观看cs50视频,以便更好地了解C和CS。 我尝试使用这些指南来安装它:

Debian,Ubuntu

首先成为root,如:

sudo su -

然后按如下方式安装CS50库:

apt-get install gcc
wget http://mirror.cs50.net/library50/c/library50-c-5.zip
unzip library50-c-5.zip
rm -f library50-c-5.zip
cd library50-c-5
gcc -c -ggdb -std=c99 cs50.c -o cs50.o
ar rcs libcs50.a cs50.o
chmod 0644 cs50.h libcs50.a
mkdir -p /usr/local/include
chmod 0755 /usr/local/include
mv -f cs50.h /usr/local/include
mkdir -p /usr/local/lib
chmod 0755 /usr/local/lib
mv -f libcs50.a /usr/local/lib
cd ..
rm -rf library50-c-5

我使用它,我认为一切都按计划进行,但是一旦我尝试运行gcc demo.c,我就会收到致命的错误消息:

adder.c:2:18: fatal error: cs50.h: No such file or directory
#include <cs50.h>

因此,似乎某些地方出了问题而且我真的不知道如何修复它。任何人都可以指导我一些如何解决它或如何重新安装C自动包含该库的所有内容?

3 个答案:

答案 0 :(得分:1)

在/ usr / local / include目录中查看cs50.h文件

如果不存在,那么一个或多个shell命令失败(或被跳过)。

您是否尝试通过以下方式运行gcc来编译/链接demo.c文件:

gcc -c -Wall -Wextra -pedantic -Wconversion -std=gnu99 demo.c -o demo.o -I/usr/local/include
gcc demo.o -o demo -L/usr/local/lib -lcs50

如果您不确定以上两行是做什么的,请问。

答案 1 :(得分:0)

仅存在于CS50 IDE上。它包含的函数是类型为def的字符串和get函数。

如果使用char *代替字符串类型

scanf()代替get_(type)

您不需要它。

如果确实需要它,我将在课程中使用IDE。这是免费的,并且在课程结束的一半途中,他们卸下了训练轮。

答案 2 :(得分:0)

最后使用-lcs50。另外,请使用-o参数指定要在其中输出机器代码的文件。

运行以下命令来编译程序:gcc demo.c -o demo -lcs50

运行此命令以执行程序:./demo