linuxdoxygen
㈠ 如何用doxygen生成文檔
在代碼中加入文檔 這個是第一步,也是最重要的一步,直接影響著文檔的優與劣.
Doxygen是一個比較成熟的工具了,它有非常詳細且專業的文檔.
文檔是寫在代碼當中的,以注釋塊的形式,為了區分代碼中的正常注釋,訪文檔需要用特殊的形式的注釋塊來呈現.Doxygen支持多種文檔注釋塊:
javadoc形式的:/** * ... */QT形式的/*! * ... */或者,這樣/// /// ... ///或者,這樣//! //! .. //!後二種有點非主流,不建議使用.推薦使用前面二種.當然,配置了某些特殊的選項也可以使用其他格式.
當Doxygen看到這種形式的注釋塊時就會把它從代碼中抽取出來,生成HTML形式的文檔.
為了讓文檔更且有可讀性,表達出更多的信息,Doxygen就定義了很多的命令,常用的有:
\file 告訴Doxygen這是某個文件的文檔塊\enum 給一個enum類型加文檔\struct 給一個結構體加文檔\param 函數的參數\return 函數的返回值\see 交叉參考\brief 簡介,用於概覽時控制在一行以內,可以空一行,然後寫更多的詳細的內容\code \endcode 示例代碼\note 注意事項\par HTML中的
需要注意的是,這些命令也可以用javadoc格式的來寫如@file, @enum, @return等.但建議用標准格式,因為\只需要敲一下,而@需要敲二下,另外就是並不是所有的命令都支持javadoc格式.
還有就是如果想寫交叉引用可以在前面加個#就會自動轉為相應的鏈接,直接上個例子就都明白了:/** * \brief Obtain current list of path * * \param [out] paths a pointer to an array of strings * \param [out] count indicating the count of path. * * \note * This function will allocate memory for path array. So caller must free the array, but should not free each item. * * \return #API_RESULT_CODE indicating whether this call success or failed. * * \par Sample code: * \code * char **path = NULL; * int count = 0; * test_get_paths(&path, &count); * // use the path * free(path); * path = NULL; * \endcode */ int test_get_paths(char ***paths, int *count);配置Doxygen Doxygen需要一個配置文件來告訴Doxygen一些選項.配置文件就是一個純文本文件,格式跟標準的linux配置文件一樣:一行一個配置項,前面是配置項的名字,然後是等號後面就是配置項的值了.以#開頭都是注釋.Doxygen的選項特別的多,不可以手動的去寫,通常都是編輯一個現有的模板,這個模板可以用Doxygen來生成:
doxygen -g config-filename
PROJECT_NAME 項目的名字,一定要改成你項目的名字PROJECT_NUMBER 編號,通常使用項目的版本號OUTPUT_DIRECTORY 文檔輸出存放目錄,建議修改,比如docPROJECT_BRIEF 項目的描述,會出現文檔每一頁的上面,控制在一行80字元內(越短越好)EXTRACT_*** 打頭的選項要仔細讀,如果是API文檔,則這些全都要設成NO,這樣就僅抽取特定文檔塊內的內容. 其他的選項都可以不改,用默認的就成.
生成文檔 這步最簡單,如果前面都就緒了,僅需要運行命令即可:
doxygen config-filename
後,文檔就會出現在所指定的輸出目錄中.
doxygen會列印出日誌信息.為了保證質量,最好把把的Warning都修正掉.(這跟修正代碼的所有編譯警告一個道理).上面例子生成的文檔:int test_get_paths(char *** paths, int * count ) Obtain current list of path. Parameters:[out]pathsa pointer to an array of strings[out]countindicating the count of path.Note:This function will allocate memory for path array. So caller must free the array, but should not free each item.Returns:API_RESULT_CODE indicating whether this call success or failed.Sample code:char **path = NULL; int count = 0; test_get_paths(&path, &count); // use the path free(path); path = NULL; 完整示例下載
㈡ 如何利用doxygen生成pdf文檔
在代碼中加入文檔 這個是第一步,也是最重要的一步,直接影響著文檔的優與劣.
Doxygen是一個比較成熟的工具了,它有非常詳細且專業的文檔.
文檔是寫在代碼當中的,以注釋塊的形式,為了區分代碼中的正常注釋,訪文檔需要用特殊的形式的注釋塊來呈現.Doxygen支持多種文檔注釋塊:
Javadoc形式的:/** * ... */QT形式的/*! * ... */或者,這樣/// /// ... ///或者,這樣//! //! .. //!後二種有點非主流,不建議使用.推薦使用前面二種.當然,配置了某些特殊的選項也可以使用其他格式.
當Doxygen看到這種形式的注釋塊時就會把它從代碼中抽取出來,生成HTML形式的文檔.
為了讓文檔更且有可讀性,表達出更多的信息,Doxygen就定義了很多的命令,常用的有:
\file 告訴Doxygen這是某個文件的文檔塊\enum 給一個enum類型加文檔\struct 給一個結構體加文檔\param 函數的參數\return 函數的返回值\see 交叉參考\brief 簡介,用於概覽時控制在一行以內,可以空一行,然後寫更多的詳細的內容\code \endcode 示例代碼\note 注意事項\par HTML中的<p> 需要注意的是,這些命令也可以用javadoc格式的來寫如@file, @enum, @return等.但建議用標准格式,因為\只需要敲一下,而@需要敲二下,另外就是並不是所有的命令都支持javadoc格式.
還有就是如果想寫交叉引用可以在前面加個#就會自動轉為相應的鏈接,直接上個例子就都明白了:/** * \brief Obtain current list of path * * \param [out] paths a pointer to an array of strings * \param [out] count indicating the count of path. * * \note * This function will allocate memory for path array. So caller must free the array, but should not free each item. * * \return #API_RESULT_CODE indicating whether this call success or failed. * * \par Sample code: * \code * char **path = NULL; * int count = 0; * test_get_paths(&path, &count); * // use the path * free(path); * path = NULL; * \endcode */ int test_get_paths(char ***paths, int *count);配置Doxygen Doxygen需要一個配置文件來告訴Doxygen一些選項.配置文件就是一個純文本文件,格式跟標準的Linux配置文件一樣:一行一個配置項,前面是配置項的名字,然後是等號後面就是配置項的值了.以#開頭都是注釋.Doxygen的選項特別的多,不可以手動的去寫,通常都是編輯一個現有的模板,這個模板可以用Doxygen來生成:
doxygen -g config-filename
PROJECT_NAME 項目的名字,一定要改成你項目的名字PROJECT_NUMBER 編號,通常使用項目的版本號OUTPUT_DIRECTORY 文檔輸出存放目錄,建議修改,比如docPROJECT_BRIEF 項目的描述,會出現文檔每一頁的上面,控制在一行80字元內(越短越好)EXTRACT_*** 打頭的選項要仔細讀,如果是API文檔,則這些全都要設成NO,這樣就僅抽取特定文檔塊內的內容. 其他的選項都可以不改,用默認的就成.
生成文檔 這步最簡單,如果前面都就緒了,僅需要運行命令即可:
doxygen config-filename
後,文檔就會出現在所指定的輸出目錄中.
doxygen會列印出日誌信息.為了保證質量,最好把把的Warning都修正掉.(這跟修正代碼的所有編譯警告一個道理).上面例子生成的文檔:int test_get_paths(char *** paths, int * count ) Obtain current list of path. Parameters:[out]pathsa pointer to an array of strings[out]countindicating the count of path.Note:This function will allocate memory for path array. So caller must free the array, but should not free each item.Returns:API_RESULT_CODE indicating whether this call success or failed.Sample code:char **path = NULL; int count = 0; test_get_paths(&path, &count); // use the path free(path); path = NULL; 完整示例下載
㈢ Linux下源代碼編譯 沒有那個文件或目錄
文件在./src/modelRection/,但是makefile裡面寫的是-I.src/modelRction/,??
㈣ 開發B/S網頁(進銷存)系統,那款開發工具最方便簡單實用
Linux開發工具就C++開發工具而言,與Windows下微軟(VC, VS2005等)一統天下相比,Linux/Unix下C++開發,可謂五花八門,各式各樣。Emacs, vi, eclipse, anjuta,kdevelop等層出不窮。
Windows下
開發工具多以集成開發環境IDE的形式展現給最終用戶。例如,VS2005集成了編輯器,宏匯編ml,C /C++編譯器cl,資源編譯器rc,調試器,文檔生成工具, nmake。它們以集成方式提供給最終用戶,對於初學者而言十分方便。但是,這種商業模式,直接導致用戶可定製性差,不利於自動化,集成第三方工具的能力弱。例如,無法定製一些宏來處理一些重復操作;體會不到自動化makefile一步到位快感;無法遠程登錄到伺服器上進行開發;無法使用某種」粘合劑」來把第三方工具(例如,文本工具,字元串工具)有效地調用起來。可以說,良好的商業支持和傻瓜式開發,是它們主要的優點。
在linux下
Linux開發工具被切割成一個個獨立的小工具。各自處理不同的問題。例如,編輯器(emacs, vim)用來進行編輯程序的,調試器(gdb)用來調試程序,編譯器(GCC)用來編譯和鏈接程序的,性能分析工具(gcov, gprof)用來優化程序的,文檔生成器(doxygen)用來生成文檔的。同時,還有一些系統工具和系統知識,我們是很有必要了解的:程序自動化機制 makefile,系統粘合劑shell,系統查找工具grep, locate, find。其它的工具(例如ctags, OCI公司的MPC等等),一旦熟練掌握,它們將成為你手中的利器。
本文主要是一些針對Linux開發工具使用的經驗之談。由於,工具品種繁多,我們沒有能力也沒有必要一一介紹。對於Linux下IDE工具,例如 eclipse, anjuta等,它們雖然也很實用,但是使用起來比較簡單,而且目前還算不上主流。所以,它們將不被著重介紹。同時,本文也不打算寫成各個工具的操作手冊,只著眼於介紹各個工具的想要解決的問題、運行機理和主要特性。
㈤ 紅旗liunx的工具光碟是什麼
具體內容
版本RedFlag DC Server 5
Name Version Summary
ant 1.6.2 Ant build tool for java
ant-antlr 1.6.2 Optional antlr tasks for ant
ant-apache-bcel 1.6.2 Optional apache bcel tasks for ant
ant-apache-log4j 1.6.2 Optional apache log4j tasks for ant
ant-apache-oro 1.6.2 Optional apache oro tasks for ant
ant-apache-regexp 1.6.2 Optional apache regexp tasks for ant
ant-apache-resolver 1.6.2 Optional apache resolver tasks for ant
ant-commons-logging 1.6.2 Optional commons logging tasks for ant
ant-javadoc 1.6.2 Javadoc for ant
ant-jdepend 1.6.2 Optional jdepend tasks for ant
ant-jmf 1.6.2 Optional jmf tasks for ant
ant-junit 1.6.2 Optional junit tasks for ant
ant-antlr 1.6.2 Optional antlr tasks for ant
antlr 2.7.4 ANother Tool for Language Recognition
ant-manual 1.6.2 Manual for ant
ant-nodeps 1.6.2 Optional tasks for ant
ant-scripts 1.6.2 Additional scripts for ant
ant-swing 1.6.2 Optional swing tasks for ant
ant-trax 1.6.2 Optional trax tasks for ant
apel 10.6 A Portable Emacs Library.
apel-xemacs 10.6 A Portable [X]Emacs Library
ArgoUML 0.18.1 Unified Modelling Language (UML) diagram editor
at-spi 1.6.2 Assistive Technology Service Provider Interface
at-spi-devel 1.6.2 Development libraries and headers for at-spi
ant-apache-bcel 1.6.2 Optional apache bcel tasks for ant
bcel 5.1 Byte Code Engineering Library
bin86 0.16.17 Real mode 80x86 assembler and linker
blas 3.0 The BLAS (Basic Linear Algebra Subprograms) library.
bluefish 1.0.2 GTK2 web development application for experienced users
bonobo 1.0.22 Library for compound documents in GNOME.
bonobo-devel 1.0.22 Libraries and include files for the Bonobo document model.
bug-buddy 2.8.0 A bug reporting utility for GNOME.
cdda2wav 2.01.1 A utility for sampling/ing .wav files from digital audio CDs.
cdecl 2.5 Encoding/decoding utilities for C/C++ function declarations.
cproto 4.7c Generates function prototypes and variable declarations from C code.
cscope 15.5 C source code tree search and browse tool
ctags 5.5.4 A C programming language indexing and/or cross-reference tool.
dejagnu 1.4.4 A front end for testing other programs.
desktop-file-utils 0.10 Utilities for manipulating .desktop files
dev86 0.16.17 A real mode 80x86 assembler and linker.
device-mapper-multipath 0.4.4 Tools to manage multipath devices using device-mapper.
diffstat 1.38 A utility which provides statistics based on the output of diff.
distcache-devel 1.4.5 Development tools for distcache distributed session cache
doxygen 1.4.1 A documentation system for C/C++.
doxygen-doxywizard 1.4.1 A GUI for creating and editing configuration files.
eclipse-cdt 2.0.2_fc C/C++ Development Tools (CDT) plugin for Eclipse
eclipse-ecj 3.1.0_fc Eclipse Compiler for Java
eclipse-jdt 3.1.0_fc Eclipse Java development tools
eclipse-jdt-devel 3.1.0_fc Eclipse JDT Source
eclipse-pde 3.1.0_fc Eclipse PDE
eclipse-pde-devel 3.1.0_fc Eclipse PDE Source
eclipse-platform 3.1.0_fc Eclipse platform common files
eclipse-platform-devel 3.1.0_fc Eclipse platform Source
eclipse-pydev 0.9.0_fc Eclipse Python development plug-in
eel2-devel 2.8.1 Libraries and include files for developing with Eel.
ElectricFence 2.2.2 A debugger which detects memory allocation violations.
elp 1 Eclipse Language Package
yelp 2.6.4 A system documentation reader from the Gnome project.
gambas-help 1.0.9 Help files for gambas
apel-xemacs 10.6 A Portable [X]Emacs Library
emacs 21.3 The GNU Emacs text editor.
xemacs 21.4.17 A different version of Emacs.
emacs-redflag-extensions-emacs 0.5 redflag extension for GNU Emacs
emacs-el 21.3 The sources for elisp programs included with Emacs.
xemacs-el 21.4.17 The .el source files for XEmacs.
emacs-leim 21.3 Emacs Lisp code for input methods for international characters.
emacs-nox 21.3 GNU Emacs text editor without X support
xemacs-nox 21.4.17 The .el source files for XEmacs.
emacs-redflag-extensions-emacs 0.5 redflag extension for GNU Emacs
eog 2.9.0 Eye of GNOME image viewer
evolution-data-server 1.0.2 Backend data server for evolution
evolution-data-server-devel 1.0.2 Development files for building against evolution-data-server
fam 2.6.10 FAM, the File Alteration Monitor.
fam-devel 2.6.10 FAM, the File Alteration Monitor development files.
fpc 2.0.0 Free Pascal Compiler
freeglut 2.2.0 A freely licensed alternative to the GLUT library
freeglut-devel 2.2.0 freeglut developmental libraries and header files
FreeWnn 1.10pl020 A Japanese character set conversion system.
FreeWnn-devel 1.10pl020 Development library and header files for FreeWnn.
FreeWnn-libs 1.10pl020 A runtime library for FreeWnn.
gambas 1.0.9 IDE based on a basic interpreter with object extensions
gambas-devel 1.0.9 Development libraries and headers for gambas
gambas-examples 1.0.9 Examples for gambas
gambas-help 1.0.9 Help files for gambas
gcc4 4.0.0 Preview of GCC version 4.0
gcc4-c++ 4.0.0 C++ support for GCC version 4.0 preview
gcc4-gfortran 4.0.0 Fortran 95 support
gjdoc 0.7.1 GNU Javadoc
glade2 2.6.8 A GTK+ GUI builder.
gnome-desktop 2.8.0 Package containing code shared among gnome-panel, gnome-session, nautilus, etc.
gnome-desktop-devel 2.8.0 Libraries and headers for libgnome-desktop
gnome-icon-theme 2.8.0 Base gnome icons
gnome-panel 2.8.1 GNOME panel
gnome-panel-devel 2.8.1 Headers and libraries for Panel Applet development
gnutls 1.0.20 A TLS implementation.
gnutls-devel 1.0.20 Development files for the gnutls package.
gperf 3.0.1 A perfect hash function generator.
graphviz 2.2.1 Graph Visualization Tools
graphviz-devel 2.2.1 Development package for graphviz
graphviz-doc 2.2.1 PDF and HTML documents for graphviz
graphviz-graphs 2.2.1 Demo graphs for graphviz
graphviz-tcl 2.2.1 Tcl extension tools for graphviz
gtk-doc 1.2 An API documentation generation tool for GTK+ and GNOME.
inews 2.4.2 Sends Usenet articles to a local news server for distribution.
intltool 0.33 Utility for internationalizing various kinds of data files.
jadetex 3.12 TeX macros used by Jade TeX output.
jakarta-commons-beanutils 1.7.0 Jakarta Commons BeanUtils Package
jakarta-commons-collections 3.1 Jakarta Commons Collections Package
jakarta-commons-digester 1.6 Jakarta Commons Digester Package
jakarta-commons-logging 1.0.4 Jakarta Commons Logging Package
jakarta-commons-modeler 1.1 Jakarta Commons Modeler Package
jakarta-regexp 1.2 Java Regular Expression package
java-1.4.2-gcj-compat 1.4.2.0 JPackage runtime scripts for GCJ
java-1.4.2-gcj-compat-devel 1.4.2.0 JPackage development scripts for GCJ
ant-jdepend 1.6.2 Optional jdepend tasks for ant
jdepend 2.6 Java Design Quality Metrics
jikes 1.22 A Java source file to bytecode compiler
jpackage-utils 1.6.3 JPackage utilities
ant-junit 1.6.2 Optional junit tasks for ant
junit 3.8.1 Java regression test package
kdbg 1.2.9 A GUI for gdb, the GNU debugger, and KDE.
kdesdk 3.2.3 The KDE Software Development Kit (SDK)
kdevelop 3.1.1 Integrated Development Environment for C++/C
kscope 1.3.0 KDE frontend to Cscope
lam 7.0.6 The LAM (Local Area Multicomputer) programming environment.
lapack 3.0 The LAPACK libraries for numerical linear algebra.
lesstif 0.93.36 An OSF/Motif(R) clone.
lesstif-devel 0.93.36 Static library and header files for LessTif/Motif development.
libao 0.8.5 Cross Platform Audio Output Library.
libao-devel 0.8.5 Cross Platform Audio Output Library Development.
libexif 0.5.12 Library for extracting extra information from image files
libexif-devel 0.5.12 Files needed for libexif application development
libgcj 4.0.0 The Java runtime library for gcc.
libgda 1.2.0 Library for writing gnome database programs
libgda-devel 1.2.0 Development libraries and header files for libgda.
libgfortran 4.0.0 Fortran 95 runtime
libghttp 1.0.9 GNOME HTTP client library.
libghttp-devel 1.0.9 Files for development using libghttp.
libmudflap 4.0.0 GCC mudflap shared support library
libmudflap-devel 4.0.0 GCC mudflap support
libswt3-gtk2 3.1.0_fc SWT Library for GTK2
libxml 1.8.17 An XML library.
libxml-devel 1.8.17 Files for developing libxml applications.
ant-apache-log4j 1.6.2 Optional apache log4j tasks for ant
log4j 1.2.8 Java logging package
memprof 0.5.1 A tool for memory profiling and leak detection.
mx4j 2.1.0 Open source implementation of JMX Java API
nasm 0.98.38 A portable x86 assembler which uses Intel-like syntax.
nasm-doc 0.98.38 Documentation for NASM.
nasm-rdoff 0.98.38 Tools for the RDOFF binary format, sometimes used with NASM.
nautilus 2.8.1 Nautilus is a network user environment.
nautilus-cd-burner 2.8.3 Easy to use CD burning for Gnome
nautilus-cd-burner-devel 2.8.3 The files needed for nautilus-cd-burner application development.
nedit 5.4 A GUI text editor for systems with X and Motif.
oaf 0.6.10 Object activation framework for GNOME.
oaf-devel 0.6.10 Libraries and include files for OAF
octave 2.1.57 A high-level language for numerical computations.
octave-devel 2.1.57 Development headers and files for Octave
ant-apache-oro 1.6.2 Optional apache oro tasks for ant
oro 2.0.8 Full regular expressions API
passivetex 1.25 Macros to process XSL formatting objects.
pilot-link-devel 0.11.8 PalmPilot development header files.
planner 0.13 A graphical project management tool.
planner-devel 0.13 Libraries and include files for developing with planner
pvm 3.4.5 Libraries for distributed computing.
pvm-gui 3.4.5 A Tcl/Tk GUI frontend for monitoring and managing a PVM cluster.
qt-designer 3.3.3 Interface designer (IDE) for the Qt toolkit
quanta 3.2.2 An HTML editor for KDE.
quanta-devel 3.2.2 Header files and documentation for compiling quanta applications.
ant-apache-regexp 1.6.2 Optional apache regexp tasks for ant
jakarta-regexp 1.2 Java Regular Expression package
regexp 1.3 Simple regular expressions API
rzsz 0.12.20 X-, Y-, and Z-Modem Data Transfer Protocols
scrollkeeper 0.3.14 ScrollKeeper is a cataloging system for documentation on open systems.
specspo 9.0.92 Red Hat package descriptions, summaries, and groups.
switchdesk 4.0.6 A desktop environment switcher.
thunderbird 1.0 Mozilla Thunderbird mail/newsgroup client
valgrind 2.2.0 Tool for finding memory management bugs in programs
w3c-libwww 5.4.0 An HTTP library of common code.
w3c-libwww-apps 5.4.0 Applications built using Libwww Web library.
w3c-libwww-devel 5.4.0 Libraries and header files for programs that use libwww.
Wnn6-SDK 1.0 A client library for Wnn6.
Wnn6-SDK-devel 1.0 Files needed for development of Wnn6 clients.
xalan-j2 2.6.0 Java XSLT processor
Xaw3d 1.5E A version of the MIT Athena widget set for X.
Xaw3d-devel 1.5E Header files and static libraries for development using Xaw3d.
apel-xemacs 10.6 A Portable [X]Emacs Library
xemacs 21.4.17 A different version of Emacs.
xemacs-common 21.4.17 The byte-compiled lisp files and other common files for XEmacs.
xemacs-el 21.4.17 The .el source files for XEmacs.
xemacs-info 21.4.17 Information files for XEmacs.
xemacs-nox 21.4.17 The .el source files for XEmacs.
xemacs-sumo 20040818 XEmacs Lisp sumo packages
xerces-j2 2.6.2 Java XML parser
xml-commons-resolver 1.1 Resolver subproject of xml-commons.
xmltex 20020625 Namespace-aware XML parser written in TeX.
xmlto 0.0.18 A tool for converting XML files to various formats.
yelp 2.6.4 A system documentation reader from the Gnome project.
zhcon 0.2.3 A Fast Console CJK System Using FrameBuffer
㈥ 怎麼在linux下查看某個函數在c++下的用法
GNU GCC 提供了一份關於 MAN 格式的 C++ 標准庫的文檔,可以在其鏡像點(http://gcc.gnu.org/mirrors.html)中下載。具體的路徑是:libstdc++/doxygen/libstdc++-man-xxxxxx.tar.bz2,可找一個最新日期的下載。展開包之後將 man/man3 中的所有文件拷貝到系統上已經存在的一個 man/man3 目錄中即可使用。
可首先 man C++Intro 閱讀 Introction to the GNU libstdc++-v3 man pages。
對於 cout,你需要知道它是 std::ostream 類的一個對象,所以應該 man std::ostream。
㈦ 在linux系統下 怎麼查看C++的庫函數 如man cout
GNU GCC 提供了一份關於 MAN 格式的 C++ 標准庫的文檔,可以在其鏡像點(http://gcc.gnu.org/mirrors.html)中下載。具體的路徑是:libstdc++/doxygen/libstdc++-man-xxxxxx.tar.bz2,可找一個最新日期的下載。展開包之後將 man/man3 中的所有文...
㈧ linux系統中常用開發工具有哪些
編輯器(emacs,
vim
vim用的較多)用來進行編輯程序的,調試器(gdb)用來調試程序,編譯器(GCC)用來編譯和鏈接程序的,性能分析工具(gcov,
gprof)用來優化程序的,文檔生成器(doxygen)用來生成文檔的
當然其它的還有很多,這個要根據你的開發來的。
望採納!
㈨ 在linux下用什麼工具寫C++代碼
在Linux下,C++開發工具被切割成一個個獨立的小工具。各自處理不同的問題。例如,編輯器(emacs, vim)用來進行編輯程序的,調試器(gdb)用來調試程序,編譯器(GCC)用來編譯和鏈接程序的,性能分析工具(gcov, gprof)用來優化程序的,文檔生成器(doxygen)用來生成文檔的。
同時,還有一些系統工具和系統知識,我們是很有必要了解的:程序自動化機制 makefile,系統粘合劑shell,系統查找工具grep, locate, find.其它的工具(例如ctags, OCI公司的MPC等等),一旦熟練掌握,它們將成為你手中的利器。