哈佛CS50库,需要帮助在Mac OS X上安装

我正在从cs50.tv学习这门课程,这是哈佛扩展学校,在课程中他们使用的是他们制作的名为cs50的图书馆,在这个链接上可以下载

https://manual.cs50.net/CS50_Library#Mac_OS

我下载了zip文件并将其解压缩,然后打开终端并以cd的方式进入库目录,但每次我都按照手册中的步骤操作。

我执行此命令后立即gcc -c -ggdb -std = c99 cs50.c -o cs50.o

我在终端中收到此错误

cs50.c:15:16: error: gc.h: No such file or directory cs50.c: In function 'GetString': cs50.c:207: warning: implicit declaration of function 'GC_FREE' cs50.c:212: warning: implicit declaration of function 'GC_REALLOC' cs50.c:212: warning: initialization makes pointer from integer without a cast cs50.c:230: warning: implicit declaration of function 'GC_MALLOC' cs50.c:230: warning: initialization makes pointer from integer without a cast 

如果有人能提供帮助,真的很感激。

gc.h来自Boehm垃圾收集器。 你可以在这里下载:

http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.0.tar.gz

打开包装,然后执行./configure && make && sudo make install 。 这会将标头安装到/ usr / local / include / gc中,你需要告诉gcc去那里寻找它:

gcc -I/usr/local/include/gc -c -ggdb -std=c99 cs50.c -o cs50.o

如果您尝试使用gcc编译cs50.h库,我发现在大多数现代64位mac上都不成功。 Xcode 4.x通常需要64位兼容的库格式。 GCC尚未更新为包含64位目标文件。 Clang / LLVM是gcc的新兴替代品,并被Apple用作Xcode作为首选的编译器引擎。 我还没有亲自尝试过,但是我将探索Xcode为Xcode生成一个兼容的库。 我正在edX学习Harvardx cs50x课程,这对于有经验的程序员来说非常棒。 cs50.h库很有意思,因为它为各种变量类型提供了相对强大的I / O例程,例如String,Integer。 用于c编程语言的float,包括对缓冲区溢出攻击的良好保护。