作者itoc.bbs@processor.tfcis.org (核心動力) 看板: plan
標題如何找到某功能所對應的函式
時間動力核心 (2004/10/09 Sat 21:53:46)
※ 引述《comfan (難過 傷心)》之銘言:
> 請問跟rpg角色扮演遊戲有關的程式檔案是哪些呢???????
> 不好意思 因為很想知道哪些程式檔案是和rpg有關的 所以就在這裡發問了
要找到某功能所對應的函式,這要靠功力,最簡單的技巧有:
A. grep 大法
範例:想得知發表文章的函式為何
已知發表文章完成時會有「這是您的第 99 篇文章,得 123 銀。」字樣
% grep "這是您的" ~/src/*/*.c
可以找到在 post.c,編輯 post.c 時,搜尋「這是您的第」,就可以找到這段
mode = BMIN(wordsnum, spendtime) / 10; /* 每十字/秒 一元 */
prints("這是您的第 %d 篇文章,得 %d 銀。", ++cuser.numposts, mode);
addmoney(mode);
B. 按鍵查 *_cb[]
範例:想得知使用者名單丟水球的函式為何
已知 (1) 使用者名單程式是在 ulist.c (這可以從精華區卷宗分類知道)
(或者已知使用者名單有「排列方式」字樣
用 grep 大法也可找到是 ulist.c)
(2) 在使用者名單丟水球的指令是 w
編輯 ulist.c,搜尋「_cb[]」,可以找到 ulist_cb[]
裡面的 'w' 就是對應者 ulist_write
而 ulist.c:ulist_write() 就是使用者名單丟水球的函式
C. 看 help
範例:想得知朋友名單刪除朋友的函式為何
在朋友名單內按 h,找到刪除朋友這篇 help,進去一看
┌───┬──────┬────────────────────────┐
│按 鍵│ 函 式 │ 敘 述 │
├───┼──────┼────────────────────────┤
│d │pal_delete │刪除朋友 │
└───┴──────┴────────────────────────┘
然後用 grep 大法搜尋「pal_delete」,即可得知
pal.c:pal_delete() 就是朋友名單刪除朋友的函式
D. 查精華區
精華區有許多範例,找一找也許有
E. 在看板上問
如果還不知道,就問人吧
--
╭┼ Origin: Maple-itoc˙動力核心 processor.tfcis.org
┼┘ Author: itoc 從 itoc.Dorm11.NCTU.edu.tw 發表