這一周老師給布置了一個有關IO的Open函數的實驗,叫我們自己到linux上去運行一下,結果在csapp.h這個頭文件上糾結了好久,在這里特別總結一下,留個紀念.
是csapp.h其實就是一堆頭文件的打包,在http://csapp.cs.cmu.edu/public/code.html 這里可以下載。這是《深入理解計算機系統》配套網站,但有個疑問是csapp.h這個 是作者寫的?還是出自unix的源代碼了?但毫無疑問他給我們寫一些程序的編寫帶來了方便,有了它我們就沒必要在寫那么多頭文件了,一個就搞定。至於出處的話,就不糾結了,會用就行。
在linux下要怎么使用頭文件了,linux應該沒有自帶csapp.h,所以要自己導入,我用的是fedora的,要放到 /usr/include的文件夾里面。打開后這里面有好多頭文件...
(ubuntu下是/usr/lib,其他版本的linux應該也是在usr的目錄下吧)。另外還有一點,要在頭文件的#end if前面加上一句#include <csapp.c>,因為那個頭文件要把csapp.c文件包含進去 這樣的話就可以用了。
還有就是因為csapp.c中有關於線程的頭文件,在用gcc的時候最后要加上-lpthread 如 # gcc -o Ex Ex.c -lpthread