0

私はハーバードエクステンションスクールである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

誰かが助けてくれたら本当にありがたいです。

4

2 に答える 2

0

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 ルーチンを提供するため、興味深いものです。バッファオーバーフロー攻撃に対する優れた保護を含む、c プログラミング言語の float。

于 2013-03-07T14:46:49.667 に答える
0

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

于 2011-08-05T23:50:15.217 に答える