偶尔看到了网易的
公开课项目,看到这个课程,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