偶爾看到了網易的
公開課項目,看到這個課程,CS50;來自哈佛大學的授課者David Malan十分有趣,在課堂上將“計算機科學”這面課上的生動活潑。不是科班出身,所以打算從頭看看。其實除了這個網站,他們自己有兩個官方網站,一個是
cs50.tv.有興趣的可以去看看。
他們用的上機環境是亞馬遜提供的云計算環境(nice.fas.harvard.edu or cloud.cs50.net),對于哈佛自己的學生是可以直接申請的;但對于我們這類外鄉人而言,也有一個新的途徑,可以安裝虛擬機(這個虛擬機也是定制的Ubuntu),具體可按照
wiki.cs50.net/Appliance下載虛擬機和VirtualBox來獲得。
不過我已經安裝了Ubuntu,所以我要說的是如何設置自己的環境來達到課件上只要“make prog”就自動編譯文件的目的。
1. 編譯cs50 lib,并拷貝相關文件至/usr/local/下:
gcc -c -ggdb -std=c99 cs50.c -o cs50.o
ar rcs libcs50.a cs50.o
rm -f cs50.o
sudo cp cs50.h /usr/local/include
sudo cp cs50.c /usr/local/src
sudo libcs50.a /usr/local/lib
2. 設置.bashrc文件,加入gcc的環境變量
# configure gcc
export CC=gcc
export CFLAGS="-ggdb -std=c99 -Wall -Werror -Wformat=0"
export LANG=C
export LDLIBS="-lcs50 -lm"
alias gcc="gcc $CFLAGS"
3. 這樣,就可以用了
zhihua@ThinkPad (~/cs50): make bug1
gcc -ggdb -std=c99 -Wall -Werror -Wformat=0 bug1.c -lcs50 -lm -o bug1
zhihua@ThinkPad (~/cs50): ls
bug1 bug1.c