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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
樓主: duanjigang
打印 上一主題 下一主題

源碼閱讀第一期:axel和wget [復(fù)制鏈接]

論壇徽章:
0
41 [報告]
發(fā)表于 2011-09-28 18:51 |只看該作者
我初學(xué)者,能不能說說用啥編譯,怎么運行?謝謝

論壇徽章:
0
42 [報告]
發(fā)表于 2011-09-28 21:35 |只看該作者
一圖勝千言~~ 把業(yè)務(wù)邏輯弄清楚了還可以重構(gòu)一個,c或cpp或python~~ 要玩就玩徹底些~~

論壇徽章:
0
43 [報告]
發(fā)表于 2011-09-28 21:47 |只看該作者
版主大哥,你把最小的一個給分析了,剩下兩個都2M多啊,分析起來夠吃力呢。。

一會下載下來,先編譯下試 ...
雨過白鷺洲 發(fā)表于 2011-09-28 16:48



    哈哈,誰讓你不事先占住小的分析呢
呵呵,玩笑啦,axel分析完了,我要著手分析下wget,大家一起學(xué)習(xí)嘛,別人分析過的你可以結(jié)合著理解更多,或者指出錯誤。

論壇徽章:
0
44 [報告]
發(fā)表于 2011-09-28 21:49 |只看該作者
本帖最后由 duanjigang 于 2011-09-28 21:56 編輯
我初學(xué)者,能不能說說用啥編譯,怎么運行?謝謝
janock 發(fā)表于 2011-09-28 18:51



    linux下面 gcc編譯

  1. ./configure
  2. make
  3. make install

  4. axel -n 100 http://en.newhua.com/down/mysql-5.5.15-win32.zip
復(fù)制代碼
就可以了

論壇徽章:
0
45 [報告]
發(fā)表于 2011-09-28 21:58 |只看該作者
一圖勝千言~~ 把業(yè)務(wù)邏輯弄清楚了還可以重構(gòu)一個,c或cpp或python~~ 要玩就玩徹底些~~
Kallawa 發(fā)表于 2011-09-28 21:35


是的,前期先用一些文字性的描述做點說明吧,后面整理好了,整體上需要圖來表示。

我覺得axel可以玩的幾個地方比較多,可以C++進(jìn)行封裝下,也可以修改下多線程和select把它移植成多平臺的代碼,支持windows

論壇徽章:
0
46 [報告]
發(fā)表于 2011-09-28 22:33 |只看該作者
支持。

論壇徽章:
0
47 [報告]
發(fā)表于 2011-09-29 11:17 |只看該作者
本帖最后由 duanjigang 于 2011-09-29 11:22 編輯

數(shù)據(jù)結(jié)構(gòu)部分來了。:wink:
axel中自定義的類型有7個:

  1. message_t
  2. search_t
  3. http_t
  4. ftp_t
  5. conn_t
  6. conf_t
  7. axel_t
復(fù)制代碼
畫了個簡單的圖來表示他們之間的引用關(guān)系:

===============================
最底層是最原始的自定義數(shù)據(jù)結(jié)構(gòu),向上逐漸引用增強。不同的顏色代表不同的引用層次。最底層的實線表示 typedef關(guān)系,虛線代表引用關(guān)系,也就是說箭頭指向的類型在
背向箭頭的類型中作為成員了。

論壇徽章:
0
48 [報告]
發(fā)表于 2011-09-29 11:19 |只看該作者
第一篇先記錄環(huán)境工具準(zhǔn)備,以及編譯和調(diào)試步驟

首先,我個人比較喜歡Eclipse CDT這個IDE,因此很自然我需要把這三個項目拿到Eclipse中編譯和調(diào)試

[axel]
  1. tar zxvf axel_2.4.orig.tar.gz
  2. cd axel-2.4/
  3. ./configure --debug=1 --strip=0
復(fù)制代碼
到這里就OK了,第三步啟用了調(diào)試,并禁止了strip。


打開Eclipse,選擇File -> New -> Makefile Project with Existing Code

選擇源碼目錄,語言選擇C語言,選中Linux GCC Toolchain

Project -> Make Target -> Create

新建all, clean兩個Make Target

Shift + F9調(diào)出Make Target,選擇all并構(gòu)建項目

OK,選擇Run -> Debug As -> Local C/C++ Application,選擇gdb/mi,確定就可以開始調(diào)試了

上面調(diào)試的是沒有命令行參數(shù)的情況下運行axel,我們可以在Run -> Debug Configurations中增加命令行參數(shù),把需要的選項,以及要下載的url添加進(jìn)去就可以調(diào)試axel的下載功能了。



[curl]
  1. ./configure --enable-debug --disable-optimize --enable-curldebug
復(fù)制代碼
Eclipse中的操作步驟類似,略之



[wget]

wget依賴于gnutls庫,我用ubuntu的apt-get命令安裝之:
  1. sudo apt-get install gnutls-bin libgnutls-dev

  2. export CFLAGS=-g

  3. ./configure --enable-debug
復(fù)制代碼
上面修改了CFLAGS選項,增加-g以啟用gcc的調(diào)試

Eclipse中的操作步驟類似,略之

評分

參與人數(shù) 1可用積分 +5 收起 理由
duanjigang + 5 謝謝分享

查看全部評分

論壇徽章:
0
49 [報告]
發(fā)表于 2011-09-29 11:23 |只看該作者
我沒版主大哥的功力,希望上面這篇回復(fù),可以給新手一點指導(dǎo)作用,讓新手也能使用相關(guān)的工具來分析這些開源項目的代碼,有利于更多的人參與到CU這個非常有意義的活動中來。。

我盡力吧,不希望看到只有剛哥一個人唱獨角戲:wink:

論壇徽章:
0
50 [報告]
發(fā)表于 2011-09-29 11:28 |只看該作者
我沒版主大哥的功力,希望上面這篇回復(fù),可以給新手一點指導(dǎo)作用,讓新手也能使用相關(guān)的工具來分析這些開源 ...
雨過白鷺洲 發(fā)表于 2011-09-29 11:23



    哈哈,多謝支持。!太謙虛了,俺現(xiàn)在也是菜鳥。。。多多學(xué)習(xí)。
發(fā)表分析文章,就可能獲取CU給的帽衫啊
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP