Re: [問題] 請教簡單問題 TCL 與 .cc 關係

看板Network_Sim作者 (從零開始)時間13年前 (2011/06/01 21:28), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《sysrq (從零開始)》之銘言: : 標題: [問題] 請教簡單問題 TCL 與 .cc 關係 : 時間: Wed Jun 1 18:28:18 2011 : : 請教一個簡單問題. : 在 tcl 中有以下的 code, : set peer($i) [new PeerApp/GnutellaApp $nodeid 0 0] : 請問在 .cc 中 GnutellaApp , 傳入三值的 $nodeid, 0, 0 該如何找到? : 我試著找了 .cc code 中的 function, 沒有找到類似有三個 input 的地方. : 最類似的僅有 : GnutellaApp::GnutellaApp(NodeAddr_t addr): PeerApp(addr) { : 但裡面參數只有一個(NodeAddr_t addr). : 請問我的觀念, 或是我找的方法有什麼錯誤嗎? : 誠心請教. : → kivava:這是tclcl的參數傳遞,要找TclClass或/lib下的.tcl指令 06/01 20:35 謝謝 kivava 回答. 後來查了一下 .cc, 有找到 TclClass static class GnutellaAppClass: public TclClass { public: GnutellaAppClass(): TclClass("PeerApp/GnutellaApp") {} TclObject* create(int argc, const char*const* argv) { return (new GnutellaApp(atoi(argv[4]))); } }class_gnutellaapp; 黃色字體應該就是 set peer($i) [new PeerApp/GnutellaApp $nodeid 0 0] 中 PeerApp/GnutellaApp 的對應部份, 不過我還是不清楚 $nodeid 0 0 三個變數是傳到 .cc 的哪裡??? 請問是以下的 code 的位置嗎? GnutellaApp::GnutellaApp(NodeAddr_t addr): PeerApp(addr) { ping_timer_ = new PingTimer(this); watchDog_ = new WatchDog(this); isBootserver_ = FALSE; ping_interval_ = PING_INTERVAL; watch_interval_ = CONN_INTERVAL; max_deg_ = MAX_DEGREE; bind("isBootserver_", &isBootserver_); bind("max_deg_", &max_deg_); bind("isWireless_", &isWireless_); : : -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.136.88

06/02 00:28, , 1F
自問自答: 應該這篇的對應正確
06/02 00:28, 1F
文章代碼(AID): #1DvZwKJ9 (Network_Sim)
文章代碼(AID): #1DvZwKJ9 (Network_Sim)