亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 131215 | 回復(fù): 12
打印 上一主題 下一主題

unix環(huán)境高級編程和網(wǎng)絡(luò)編程源代碼能在mac下編譯通過嗎 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2013-07-09 18:46 |只看該作者 |倒序?yàn)g覽
聽說mac os基于unix,想買個mac pro學(xué)習(xí)unix下的編程,不知道能不能編譯這兩本書上的源代碼還有能練習(xí)unix的shell程序設(shè)計(jì)嗎

論壇徽章:
11
技術(shù)圖書徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
2 [報(bào)告]
發(fā)表于 2013-07-12 17:38 |只看該作者
可以過,但有些小修改,動手嘗試下。

論壇徽章:
11
技術(shù)圖書徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
3 [報(bào)告]
發(fā)表于 2013-07-12 17:57 |只看該作者
BTW, 買MacBook Pro可以學(xué)UNIX編程,學(xué)習(xí)娛樂兩不誤,但用Mac Pro有些殺雞用牛刀的感覺。。。OS X自從10.5 Leopard就是獲得認(rèn)證的UNIX系統(tǒng),遵循Single UNIX Specification,規(guī)范文檔寫的不錯,可以當(dāng)參考手冊看。

論壇徽章:
6
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-03 17:33:522015元宵節(jié)徽章
日期:2015-03-06 15:50:39IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-11 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-03-19 06:20:0019周年集字徽章-19
日期:2019-09-06 18:56:11
4 [報(bào)告]
發(fā)表于 2013-09-09 18:36 |只看該作者
當(dāng)然沒問題,不過首先要在你的MAC系統(tǒng)安裝XCODE然后在擴(kuò)展插件里安裝GCC,目前版本已經(jīng)淘汰了gcc編譯器采用了更好的編譯器。

論壇徽章:
1
綜合交流區(qū)版塊每日發(fā)帖之星
日期:2015-10-14 06:20:00
5 [報(bào)告]
發(fā)表于 2013-10-04 15:26 |只看該作者
我表示懷疑, 作者寫這書的時候,Mac還沒出世。

論壇徽章:
6
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-03 17:33:522015元宵節(jié)徽章
日期:2015-03-06 15:50:39IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-11 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-03-19 06:20:0019周年集字徽章-19
日期:2019-09-06 18:56:11
6 [報(bào)告]
發(fā)表于 2013-10-08 20:26 |只看該作者
如果我猜的沒錯,樓上朋友所指的Unix編程圖書應(yīng)該是W.Richard Stevens寫的UNIX環(huán)境編程,這本書最初創(chuàng)作于1996-1999年間,作者網(wǎng)站(http://www.kohala.com/start/),與此同時蘋果操作系統(tǒng)Mac OS 9已經(jīng)發(fā)布,在蘋果硬件方面已發(fā)布了Power Macintosh G4,而此時的蘋果掌門人由喬布斯再次接管。

論壇徽章:
1
綜合交流區(qū)版塊每日發(fā)帖之星
日期:2015-10-14 06:20:00
7 [報(bào)告]
發(fā)表于 2013-10-12 14:17 |只看該作者
本帖最后由 fly3ds 于 2013-10-12 14:20 編輯
cgweb 發(fā)表于 2013-10-08 20:26
如果我猜的沒錯,樓上朋友所指的Unix編程圖書應(yīng)該是W.Richard Stevens寫的UNIX環(huán)境編程,這本書最初創(chuàng)作于1 ...


好吧,就算你說的對。但是這書里的程序能否在Mac OS上跑起來還是未知的,沒聽說過有誰把這書里的程序搞到Mac上去運(yùn)行起來。

我估計(jì),最起碼,要做相當(dāng)?shù)男薷牟拍芘芷饋砟敲匆粌蓚程序;可能改個幾個程序之后,就沒耐心了,一大堆系統(tǒng)調(diào)用、庫函數(shù)、配置文件,鬼知道到底干什么用的,在Mac上有沒有實(shí)現(xiàn),或者有沒有類似的實(shí)現(xiàn)。

各個Unix系統(tǒng)之間的差異其實(shí)還是挺大的。

論壇徽章:
6
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-03 17:33:522015元宵節(jié)徽章
日期:2015-03-06 15:50:39IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-01-11 06:20:00IT運(yùn)維版塊每日發(fā)帖之星
日期:2016-03-19 06:20:0019周年集字徽章-19
日期:2019-09-06 18:56:11
8 [報(bào)告]
發(fā)表于 2013-10-13 16:14 |只看該作者
你說的也對

論壇徽章:
11
技術(shù)圖書徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
9 [報(bào)告]
發(fā)表于 2014-01-24 18:18 |只看該作者
UNIX的具體實(shí)現(xiàn)差異大,但標(biāo)準(zhǔn)接口早就穩(wěn)定很多年了,尤其是認(rèn)證UNIX(如HP UX, IBM AIX, Oracle Solaris, Mac OS X 10.5+),必須實(shí)現(xiàn)POSIX.1-2001/SUS v3,而APUE的核心內(nèi)容都在上述標(biāo)準(zhǔn)范圍內(nèi)。

APUE(UNIX環(huán)境高級編程)都有三個版本了,從官網(wǎng)下載2005年的第二版,書中覆蓋了FreeBSD 5.2.1/Linux 2.4.22/Solaris 9/Mac OS X 10.3,比較古老了。下面我在2013年發(fā)布Mac OS X 10.9(gcc 4.2.1基于LLVM 3.3)上編譯所有代碼

1. 目錄樹頂層部分內(nèi)容。
  1. bash-3.2 $ll | head -20
  2. total 1728
  3. drwxr-xr-x  248 Guorui  staff  8432  1 24 16:59 ./
  4. drwx------+  11 Guorui  staff   374  1 24 16:37 ../
  5. -r--r--r--    1 Guorui  staff   656  5 29  2005 DISCLAIMER
  6. -rw-r--r--    1 Guorui  staff   552  5 29  2005 Make.defines.freebsd
  7. -rw-r--r--    1 Guorui  staff   568  5 29  2005 Make.defines.linux
  8. -rw-r--r--    1 Guorui  staff   555  1 24 16:59 Make.defines.macos
  9. -rw-r--r--    1 Guorui  staff   550  5 29  2005 Make.defines.solaris
  10. -rw-r--r--    1 Guorui  staff   678  5 29  2005 Makefile
  11. -rw-r--r--    1 Guorui  staff  1511  5 30  2005 README
  12. drwxr-xr-x   11 Guorui  staff   374  5 28  2005 advio/
  13. drwxr-xr-x   14 Guorui  staff   476  5 29  2005 call/
  14. drwxr-xr-x   24 Guorui  staff   816  5 29  2005 calld/
  15. drwxr-xr-x   11 Guorui  staff   374  5 28  2005 daemons/
  16. drwxr-xr-x    7 Guorui  staff   238  5 28  2005 datafiles/
  17. drwxr-xr-x    9 Guorui  staff   306  5 28  2005 db/
  18. drwxr-xr-x   13 Guorui  staff   442  5 28  2005 environ/
  19. drwxr-xr-x   17 Guorui  staff   578  5 28  2005 exercises/
  20. lrwxr-xr-x    1 Guorui  staff    13  5 28  2005 fig1.10@ -> proc/shell2.c
  21. lrwxr-xr-x    1 Guorui  staff    10  5 28  2005 fig1.3@ -> file/ls1.c
復(fù)制代碼
2. 編譯過程。
1)首先讀下README,然后進(jìn)入 Make.defines.macos中修改當(dāng)前源碼所在目錄,完畢。

2)輸入“make macos”開始編譯,警告很多,直到出現(xiàn)一個未定義符號的鏈接錯誤終止編譯了:
  1. gcc -ansi -I/Users/Guorui/Downloads/apue.2e/include -Wall -DMACOS -DDEBUG -o call main.o call.o put.o take.o takeput.o escape.o loop.poll.o ../sockets/clconn.o  ../lib/libapue.a
  2. clang: warning: argument unused during compilation: '-ansi'
  3. Undefined symbols for architecture x86_64:
  4.   "_CMSG_LEN", referenced from:
  5.       _recv_fd in libapue.a(recvfd.o)
  6. ld: symbol(s) not found for architecture x86_64
  7. clang: error: linker command failed with exit code 1 (use -v to see invocation)
  8. make[1]: *** [call] Error 1
  9. make: *** [macos] Error 1
復(fù)制代碼
3) 尋找和解決編譯錯誤。發(fā)現(xiàn)宏'CMSG_LEN'未定義,因?yàn)镺S X在x86-64架構(gòu)下的兼容標(biāo)準(zhǔn)已經(jīng)變?yōu)閲?yán)格符合SUSv3了,
默認(rèn)去掉了一些傳統(tǒng)UNIX的擴(kuò)展函數(shù)。不妨再加入那些擴(kuò)展函數(shù),于是在Make.defines.macos加入'-D_DARWIN_C_SOURCE'。
再次編譯,依然很多警告,無視,幸好全部成功。

4) 隨便找了一個例子運(yùn)行,用系統(tǒng)調(diào)用生成空洞文件。
  1. bash-3.2 $l
  2. access*      changemod.c  fileflags.c  ftw4.c       linux.mk     macos.mk     solaris.mk   umask*       zap.c
  3. access.c     devrdev*     filetype*    hello*       longpath*    mycd*        testerror*   umask.c
  4. cdpwd*       devrdev.c    filetype.c   hello.c      longpath.c   mycd.c       testerror.c  unlink*
  5. cdpwd.c      file.hole    freebsd.mk   hole*        ls1*         seek*        uidgid*      unlink.c
  6. changemod*   fileflags*   ftw4*        hole.c       ls1.c        seek.c       uidgid.c     zap*
  7. bash-3.2 $./hole
  8. bash-3.2 $ll file.hole
  9. -rw-r--r--  1 Guorui  staff  16394  1 24 18:11 file.hole
復(fù)制代碼
5. 總體來看只新增了一個宏就完成全部編譯,沒任何代碼修改,沒什么難度。至于研究具體的調(diào)用行為,則是看這本書的目的了,
而且SUSv3中的標(biāo)準(zhǔn)工具和接口行為正確性,OpenGroup認(rèn)證UNIX時已經(jīng)測試了,無需我們擔(dān)心。

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2014-03-19 14:27 |只看該作者
樓上很牛逼   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP