《UNIX网络编程 卷1》一、环境配置
引言
之前做的客戶端開發(fā)主要重難點在于業(yè)務(wù)邏輯的抽象與實現(xiàn),而服務(wù)端開發(fā)對技術(shù)的要求更高。遂開始學(xué)習(xí)《UNIX網(wǎng)絡(luò)編程 卷1:套接字聯(lián)網(wǎng)API(第3版)》,敦促自己堅持。
本書源碼可以在官網(wǎng)或者圖靈社區(qū)免費獲取
環(huán)境:macOS 10.13.1
環(huán)境配置
./configurecd lib makecd ../libfree make此處報錯:
$ make gcc -I../lib -g -O2 -D_REENTRANT -Wall -c -o in_cksum.o in_cksum.c gcc -I../lib -g -O2 -D_REENTRANT -Wall -c -o inet_ntop.o inet_ntop.c inet_ntop.c:56:1: error: conflicting types for 'inet_ntop' inet_ntop(af, src, dst, size) ^ /usr/include/arpa/inet.h:77:13: note: previous declaration is here const char *inet_ntop(int, const void *, char *, socklen_t);^ 1 error generated. make: *** [inet_ntop.o] Error 1提示inet_ntop重復(fù)聲明了,其實是頭文件重復(fù)包含了,本想將/usr/include/arpa/inet.h中該行注釋掉,無奈權(quán)限問題解決不了。于是按照網(wǎng)上辦法將inet_ntop.c文件#include <arpa/inet.h>這行注釋掉,重新make即可。
接下來拷貝unp.h 文件及其對應(yīng)的靜態(tài)鏈接庫 libunp.a 到 系統(tǒng)目錄
cd .. // 回到主目錄 // 修改unp.h gedit lib/unp.h // 修改 #include "../config.h" 為 #include "config.h" // 拷貝頭文件 sudo cp config.h /usr/local/include sudo cp lib/unp.h /usr/local/include // 拷貝庫文件 sudo cp libunp.a /usr/local/lib // 接下來我們就可以編譯書中的一些例子了,可以使用庫文件鏈接 -lunp // 如:gcc daytimetcpcli.c -o daytimetcpcli -lunp示例代碼
編譯書中的第一個示例代碼intro/daytimetcpcli.c
cd ./intro gcc daytimetcpcli.c -o daytimetcpcli -lunp執(zhí)行
./daytimetcpcli 129.6.15.2858072 17-11-15 14:30:54 00 0 0 606.1 UTC(NIST) *如果對時服務(wù)器IP不可用,可查詢http://tf.nist.gov/tf-cgi/servers.cgi
參考
UNIX網(wǎng)絡(luò)編程(第3版)環(huán)境搭建——使用MAC OSX10.10
UNIX網(wǎng)絡(luò)編程之一:代碼環(huán)境搭建
《UNIX網(wǎng)絡(luò)編程 卷1》之”學(xué)習(xí)環(huán)境搭建”(CentOS 7)
總結(jié)
以上是生活随笔為你收集整理的《UNIX网络编程 卷1》一、环境配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vijos1942——小岛 Floye
- 下一篇: 百度SEO一本通