tag:blogger.com,1999:blog-4982215793068879977.post7468871783965894905..comments2023-09-07T02:56:05.540+08:00Comments on fcamel 技術隨手記: 閱讀 C/C++ 原始碼的好幫手fcamelhttp://www.blogger.com/profile/04792244455260595133noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-4982215793068879977.post-6047477365169005232013-09-25T00:11:31.924+08:002013-09-25T00:11:31.924+08:00id-utils 效率很好 (十倍以上的效能), 對大型專案來說, 滿需要這種等級的效能。我在上層包...id-utils 效率很好 (十倍以上的效能), 對大型專案來說, 滿需要這種等級的效能。我在上層包了一層介面 (gj), 目前還算堪用fcamelhttps://www.blogger.com/profile/04792244455260595133noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-18185006341404261912013-09-24T13:40:14.097+08:002013-09-24T13:40:14.097+08:00有人用 C 寫了一個類似 ack 的工具,叫 ag,作者宣稱快三到五倍。
https://githu...有人用 C 寫了一個類似 ack 的工具,叫 ag,作者宣稱快三到五倍。<br />https://github.com/ggreer/the_silver_searcherAethanychttps://www.blogger.com/profile/04072191136224229021noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-25338664517348811382013-09-24T13:36:51.384+08:002013-09-24T13:36:51.384+08:00GNU Global 跟這些工具比較不知如何呢?GNU Global 跟這些工具比較不知如何呢?Aethanychttps://www.blogger.com/profile/04072191136224229021noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-2039794960750058152012-08-07T02:58:49.435+08:002012-08-07T02:58:49.435+08:00多謝!多謝!fcamelhttps://www.blogger.com/profile/04792244455260595133noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-5139668682040003142012-07-31T00:55:29.309+08:002012-07-31T00:55:29.309+08:00lxr or doxygen is too slow. I like to use idutils...lxr or doxygen is too slow. I like to use idutils.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-40531906870614798212012-07-31T00:52:58.574+08:002012-07-31T00:52:58.574+08:00$ cat mkid-typemap
*.idl text
*.ipdl text
*.cpp te...$ cat mkid-typemap<br />*.idl text<br />*.ipdl text<br />*.cpp text<br />*.h text<br />*.c text<br />*.js text<br />*.jsm text<br />*.in text<br />*.mk text<br />$ mkid -m mkid-typemapAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-51817420219147444712012-05-05T19:34:21.170+08:002012-05-05T19:34:21.170+08:00gj 底層是 id-utils,
我用預設的方式建 index, 似乎只有建 C/C++, ASM,...gj 底層是 id-utils,<br />我用預設的方式建 index, 似乎只有建 C/C++, ASM, Java,<br />有些語言不會有建 index<br /><br />另外我是用預設的方式找 symbol, <br />要完全符合才會找出來, 沒有模糊比對fcamelhttps://www.blogger.com/profile/04792244455260595133noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-57474870434951178312012-05-05T14:25:58.665+08:002012-05-05T14:25:58.665+08:00我使用你提供的 gj 我發現有些關鍵字還是沒有找到
grep 但用可以找到~ 請問這是什麼原因?
謝...我使用你提供的 gj 我發現有些關鍵字還是沒有找到<br />grep 但用可以找到~ 請問這是什麼原因?<br />謝謝Yaohttps://www.blogger.com/profile/13251927972920885171noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-33305115791262991792012-01-06T09:53:59.712+08:002012-01-06T09:53:59.712+08:00較新的 lxr 替代品是 dxr:
http://dxr.mozilla.org/mozilla/i...較新的 lxr 替代品是 dxr:<br />http://dxr.mozilla.org/mozilla/index.html<br />是以 Clang 為基礎的:<br />https://github.com/mozilla/dxr<br /><br />@fcamel: "lxr 好像是類似 doxygen 的工具?"<br />lxr, Linux Cross Reference, 原本是為了研究 Linux Kernel source code 而寫出來的。至今討論 Linux Kernel 內部 API 時還是很常用。Anonymoushttps://www.blogger.com/profile/18195653023013629876noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-55033416943324792602012-01-06T09:30:56.931+08:002012-01-06T09:30:56.931+08:00lxr沒顏色~有點難看lxr沒顏色~有點難看Hello Waylinghttps://www.blogger.com/profile/00518112221407669271noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-80596126821923474532011-12-28T23:31:53.225+08:002011-12-28T23:31:53.225+08:00@scw 謝啦, 看起來頗強大的, 明天來試試, 好像是類似 doxygen 的工具?@scw 謝啦, 看起來頗強大的, 明天來試試, 好像是類似 doxygen 的工具?fcamelhttps://www.blogger.com/profile/04792244455260595133noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-8838291415246026662011-12-28T18:32:45.969+08:002011-12-28T18:32:45.969+08:00還有一個東西叫 lxr,
http://lxr.sourceforge.net/
我覺得也滿好用的...還有一個東西叫 lxr, <br />http://lxr.sourceforge.net/<br />我覺得也滿好用的溜scwhttps://www.blogger.com/profile/18224326041423584213noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-86893416039884367492011-12-13T10:55:07.664+08:002011-12-13T10:55:07.664+08:00Eclipse漏東西是什麼情況? 試試看把indexer的cache limit調大一點...
By...Eclipse漏東西是什麼情況? 試試看把indexer的cache limit調大一點...<br />By the way, gj還不錯用!! Good Job~XD小迪克/Markhttps://www.blogger.com/profile/06119920001578195509noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-765940686971355922011-12-13T08:16:39.103+08:002011-12-13T08:16:39.103+08:00跟ack一樣的功能,不過用Python寫成,程式碼也蠻易讀。
http://eli.thegreen...跟ack一樣的功能,不過用Python寫成,程式碼也蠻易讀。<br />http://eli.thegreenplace.net/2011/10/14/announcing-pss-a-tool-for-searching-inside-source-code/marshttps://www.blogger.com/profile/03702328929933479309noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-9151715732781731402011-12-13T02:20:15.528+08:002011-12-13T02:20:15.528+08:00為了主題完整性,跟之後讀者分享 grep 顏色輸出設定:
alias egrep='egr...為了主題完整性,跟之後讀者分享 grep 顏色輸出設定:<br /><br />alias egrep='egrep --color=tty -d skip'<br />alias egrpe='egrep --color=tty -d skip'<br />alias fgrep='fgrep --color=tty -d skip'<br />alias fgrpe='fgrep --color=tty -d skip'<br />alias grep='grep --color=tty -d skip'<br />alias grpe='grep --color=tty -d skip'<br /><br />以上可安全的加在 .bashrc 中,<br />grep 發現 stdout 不是 tty 時就會改回無顏色控制碼的輸出。<br />來源 glibc maintainer Ulrich Drepper:<br />http://udrepper.livejournal.com/17109.htmlAnonymoushttps://www.blogger.com/profile/18195653023013629876noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-28467428879503110472011-12-13T02:11:32.582+08:002011-12-13T02:11:32.582+08:00Re: 最後的例子沒看懂
若搜群工具可以輸出 "FILE:LINE:...SNIPPET...Re: 最後的例子沒看懂<br /><br />若搜群工具可以輸出 "FILE:LINE:...SNIPPET.." 格式,將結果存於檔案中, 再用以上設定在 VIM 中打開就可以像在 VIM 中用內建 grep 一樣,跳到各搜尋結果。<br /><br />搜尋工具格式不同,則寫 script 或手動轉。<br />VIM 也有 "grepformat" 參數,但我自己是用上述方法。Anonymoushttps://www.blogger.com/profile/18195653023013629876noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-42604998886457548882011-12-13T02:05:34.528+08:002011-12-13T02:05:34.528+08:00之前讀 python code 時有用過 pycscope + VIM plugin, 相當不錯, ...之前讀 python code 時有用過 pycscope + VIM plugin, 相當不錯, 原以為 cscope + VIM plugin 也可適用, 可惜 C++ 的情況滿多不適用的。<br /><br />http://vrapper.sourceforge.net/features/<br />沒想到 vrapper 有支援 macro, 這樣應該可用, 明天來試試。很久以前用過類似的東西, 但沒有 macro 用起來不順手<br /><br />最後的例子沒看懂, 是指要先在 cmd line 用 grep -n 將輸出導到檔名 "|" 中, 再做後面的操作嗎??fcamelhttps://www.blogger.com/profile/04792244455260595133noreply@blogger.comtag:blogger.com,1999:blog-4982215793068879977.post-92130872121171424742011-12-13T01:30:25.732+08:002011-12-13T01:30:25.732+08:00以需要能找出全部有用到某函式的地方為前提:
1. 純粹 C 而不是 C++ 的 code base,...以需要能找出全部有用到某函式的地方為前提:<br />1. 純粹 C 而不是 C++ 的 code base, cscope + VIM plugin 很好用<br />2. Eclipse 與 VIM 見 Vrapper:http://itrs.tw/wiki/IDEs_with_VIM_Emulation<br /><br />要在 VIM 中方便跳到 search results,我有個奇怪用法:<br />1. 將 search result 轉成『grep -n 格式』存在檔案 l 中<br />2. vim<br />3. :set grepprg=cat\ l<br />4. :grep<br />5. :copenAnonymoushttps://www.blogger.com/profile/18195653023013629876noreply@blogger.com