寒假的作业是写一个操作系统。老师给我们的要求比较低,基本上是能看懂学长以前写过的代码就给及格,自己写的像样的基本上良以上了。当然一个学期蜻蜓点水地学了这点东西,写一个操作系统,能不能“操作”,还是个大问号呢。
参考书自然想到了于渊的《一个操作系统的实现》。目前基本上就是抄着大神的代码,然后改改变量名啥的。抄到第三章的时候,看起来以后还要继续编译好多次,所以就干脆写个 Makefile 偷懒。但是这 Makefile 我是需要写的时候就查,写完之后又忘。所以干脆自己写个文章记下来算了。
所以,这篇文章适合那些对 Makefile 有初步了解,但是不常用,需要找点线索来回忆的人(比如我)。如果是对 Makefile 一无所知的话,请 Google 之。
阅读全文
最近开始折腾 Nginx, 我想自己编译它来搭建一个服务器。
我使用的系统是 CentOS, 也就是说很多风格会与 Red Hat 很像。所以安装命令是 yum 而不是 Ubuntu 那些 Debian 系统的 apt-get. 编译之前需要安装一些东西,它们是 gcc, pcre, zlib, openssl, libxml2, libxslt, gd, GeoIP. 由于我想让 Nginx 有尽量多的功能,所以才要安装 libxml2, libxslt, gd, GeoIP 之类的东西。
首先 gcc 是 GNU Compiler Collection, 编译 Nginx 必须要用这个编译器。然后 pcre 全称是 Perl Compatible Regular Expression, Nginx 解析 URL 的时候需要用到。zlib 是 Nginx 用来压缩数据的。openssl 是 Open Secure Socket Layer. gd 是一个处理图像的库。而 GeoIP 似乎可以用来查询 IP 的地理位置。
取得管理员权限后,运行:
1 2 3 4 5 6 7
| yum install gcc yum install pcre pcre-devel yum install zlib zlib-devel yum install openssl openssl-devel yum install libxml2 libxml2-devel libxslt libxslt-devel yum install gd gd-devel yum install GeoIP GeoIP-devel |
阅读全文
六月份看了一些 Java, 后来基本忘记了。现在又要重新捡回来……
好吧,首先是 JDK 的下载。先去下载一个 JDK 安装,之后设置环境变量 JAVA_HOME 为安装路径(安装路径下有个 bin 文件夹,这是识别安装路径的方法),比如我就是这样设置的:
C:\Program Files\Java\jdk1.6.0_21
然后设置环境变量 CLASSPATH 为一个点,加分号,再加上经常放 Java 的类文件的文件夹。如:
.;C:\Java\Classes
然后在 PATH 里加上:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
阅读全文