偶爾看到了網(wǎng)易的
公開(kāi)課項(xiàng)目,看到這個(gè)課程,CS50;來(lái)自哈佛大學(xué)的授課者David Malan十分有趣,在課堂上將“計(jì)算機(jī)科學(xué)”這面課上的生動(dòng)活潑。不是科班出身,所以打算從頭看看。其實(shí)除了這個(gè)網(wǎng)站,他們自己有兩個(gè)官方網(wǎng)站,一個(gè)是
cs50.tv.有興趣的可以去看看。
他們用的上機(jī)環(huán)境是亞馬遜提供的云計(jì)算環(huán)境(nice.fas.harvard.edu or cloud.cs50.net),對(duì)于哈佛自己的學(xué)生是可以直接申請(qǐng)的;但對(duì)于我們這類外鄉(xiāng)人而言,也有一個(gè)新的途徑,可以安裝虛擬機(jī)(這個(gè)虛擬機(jī)也是定制的Ubuntu),具體可按照
wiki.cs50.net/Appliance下載虛擬機(jī)和VirtualBox來(lái)獲得。
不過(guò)我已經(jīng)安裝了Ubuntu,所以我要說(shuō)的是如何設(shè)置自己的環(huán)境來(lái)達(dá)到課件上只要“make prog”就自動(dòng)編譯文件的目的。
1. 編譯cs50 lib,并拷貝相關(guān)文件至/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. 設(shè)置.bashrc文件,加入gcc的環(huán)境變量
# 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