Библиотека Harvard CS50, нужна помощь для установки на Mac OS X - PullRequest
0 голосов
/ 06 августа 2011

Я беру этот курс с cs50.tv, который является Гарвардской школой расширения, и в курсе они используют созданную ими библиотеку cs50, по этой ссылке она доступна для скачивания

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

Я скачал zip-файл и разархивировал его, а затем открываю терминал и перехожу к каталогу библиотеки, но каждый раз, когда выполняю действия, описанные в руководстве.

Сразу после выполнения этой команды 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

Был бы очень признателен, если кто-нибудь может помочь.

Ответы [ 2 ]

0 голосов
/ 07 марта 2013

Если вы пытаетесь использовать gcc для компиляции библиотеки cs50.h, я обнаружил, что это не удалось на большинстве современных 64-битных компьютеров. Xcode 4.x обычно хочет 64-битный совместимый формат библиотеки. GCC не был обновлен для включения 64-битных объектных файлов. Clang / LLVM является растущей альтернативой gcc и используется Apple для Xcode в качестве предпочтительного движка компилятора. Я лично еще не пробовал, но буду изучать Xcode для создания совместимой библиотеки для Xcode. Я изучаю курс Harvardx CS50X в edX, и это отличный курс даже для опытных программистов. Библиотека cs50.h интересна тем, что предоставляет относительно надежные процедуры ввода / вывода для различных типов переменных, например, Строка, Целое число. float для языка программирования c, включая хорошую защиту для атак переполнения буфера.

0 голосов
/ 06 августа 2011

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

...