搭建《unix網絡編程》那本書所需的環境
我用的是ubuntu11.10系統:
1,安裝編譯器,爲了齊全還是安裝一下build-essential
- sudo apt-get install build-essential
2,下載本書的頭文件及示例源碼
點此下載unpv13e.tar.gz http://ishare.iask.sina.com.cn/f/13238521.html
3,解壓unpv13e.tar.gz後進入目錄查看README,然後可以按照裏面提示操作,不過會遇到問題
第一步:在終端中進入upnv13e目錄,然後執行代碼:
[python] view plaincopy
- chmod u+x configure
- ./configure
第二步:進入lib目錄下執行make:
[python] view plaincopy
- cd lib
- make
第三步:建立基礎類庫:
[python] view plaincopy
- cd ../libfree # continue building the basic library
- make
第四步:編譯函數庫:
[python] view plaincopy
- cd ../libgai # the getaddrinfo() and getnameinfo() functions
- make
4,將生成的libunp.a靜態庫複製到/usr/lib/和/usr/lib64/中。
- cd .. //回到unpv12e目錄
- sudo cp libunp.a /usr/lib
- sudo cp libunp.a /usr/lib64
- gedit lib/unp.h //將unp.h中#include "../config.h"修改爲#include "config.h"
- sudo cp lib/unp.h /usr/include
- sudo cp config.h /usr/include
6,編譯源代碼
- cd ./intro
- gcc daytimetcpcli.c -o daytimetcpcli -lunp
daytimetcpcli.c:1:17: 致命錯誤: /usr/include/unp.h:權限不夠
解決方法:sudo rm /usr/include/unp.h
2.進入unpv13e解壓目錄下的lib文件裏面找到unp.h,然後右鍵查看屬性,選中權限,修改它的權限爲讀寫,或只讀sudo cp lib/unp.h /usr/include
ok,按照第6步的命令重新編譯,pass,成功了跟普通的編譯不一樣的是要在最後加上剛纔那個鏈接庫,-l參數加上剛纔那個libunp.a去掉lib和後面的.a。最後得到參數-lunp。
7,編寫程序
以後編寫完的程序安裝6中的代碼編譯就行了,然後代碼可以完全跟書上的一樣。代碼編輯器或IDE等就按自己的喜好來選了。這個網上很多c語言編程環境搭建教程。
我選擇命令行用vim編寫程序,主要爲了鍛鍊一下自己。我的vim配置如下:http://lingshaohuprose.blog.163.com/blog/static/1695797822012271954678/