日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mac下 unix网络编程环境安装

發(fā)布時(shí)間:2024/8/1 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mac下 unix网络编程环境安装 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

mac下 unix網(wǎng)絡(luò)編程環(huán)境安裝

      • 1.下載安裝包unpv13e
      • 2.解壓后文件后,在終端通過命令進(jìn)入unpv13e文件夾,依次執(zhí)行下列命令
      • 3.復(fù)制文件到相應(yīng)路徑
      • 4.嘗試編譯例程

本機(jī)環(huán)境 mac os 10.15.17

1.下載安裝包unpv13e

下載地址http://www.unpbook.com/src.html

2.解壓后文件后,在終端通過命令進(jìn)入unpv13e文件夾,依次執(zhí)行下列命令

./configurecd lib makecd../libfree make

  • 在libfree下make報(bào)錯(cuò)
    inet_ntop.c:56:1: error: conflicting types for ‘inet_ntop’
    解決辦法:
    在unpv13e/libfree下找到inet_ntop.c文件把#include <arpa/inet.h>注釋掉

    最終會(huì)在unpv13e文件夾中成功生成libunp.a文件

3.復(fù)制文件到相應(yīng)路徑

  • libunp.a文件復(fù)制到usr/local/lib文件夾中
  • -將unpv13e下的config.h和修改后的unpv13e/lib中的unp.h復(fù)制到usr/include文件夾中
  • 將unp.h中的 #include “…/config.h” 改為 #include “config.h”
    具體命令如下
sudo cp libunp.a /usr/local/lib sudo cp lib/unp.h /usr/include sudo cp config.h /usr/include
  • 可能會(huì)遇到的問題記錄
    1.Operation not permitted:
    原因:這是因?yàn)閞ootless機(jī)制未關(guān)閉
    解決方法:
    重啟Mac,開機(jī)時(shí)長按command+R進(jìn)入恢復(fù)模式,在上面的實(shí)用工具中找到teriminal/終端,輸入
    csrutil disable
    關(guān)閉rootless機(jī)制(如果要再開啟輸入csrutil enable即可)
    2.usr/include文件夾找不到:
    解決辦法1:安裝command line Tools,在終端執(zhí)行xcode-select --install
    解決辦法2:如果安裝command line Tools不能解決,進(jìn)行如下操作
#根目錄掛載為可讀寫 sudo mount -uw /#建立軟鏈 sudo ln -s "$(xcrun --show-sdk-path)/usr/include" /usr/include

4.嘗試編譯例程

確認(rèn)libunp.a,unp.h,config.h已拷貝在相應(yīng)文件夾下后,開始編譯第一個(gè)例子daytimetcpcli.c;在unpv13e文件夾下,依次執(zhí)行相應(yīng)命令:

cd intro gcc daytimetcpcli.c -o daytimetcpcli -lunp
  • -lunp的含義,-l 參數(shù)加上 libunp.a 去掉lib和后面的.a,鏈接靜態(tài)庫
    成功則在intro文件夾下生成了可執(zhí)行文件a.out,測試:
./daytimetcpcli 127.0.0.1

這時(shí)返回錯(cuò)誤如下:

這個(gè)錯(cuò)誤是由于daytime的服務(wù)程序未被打開

  • 解決辦法:在unpv133/intro下編譯daytimetcpsrv程序
gcc daytimetcpsrv.c -o daytimetcpsrv -lunp sudo ./daytimetcpsrv

再次運(yùn)行客戶端程序,執(zhí)行成功

總結(jié)

以上是生活随笔為你收集整理的mac下 unix网络编程环境安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。