Chinaunix首页 | 论坛 | 博客
  • 博客访问: 712866
  • 博文数量: 112
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 1192
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-12 16:46
文章分类

全部博文(112)

文章存档

2009年(4)

2008年(108)

我的朋友

分类: 系统运维

2008-04-16 11:07:53

Tools for ns2
2007-04-01 14:20

Right tool for the right job. In China, it is: 工欲善其事 必先利其器

()

So I introduce some useful tools for you:

1. Server:Debian Linux, ftpd(wu-ftpd, vs-ftpd, etc)

2. Client:

Windows

Editor:

, because you can access source files on the server through FTP just like the way you edit your local files.

Teminal:

(for English), (for Chinese)

Sourcecode Browser:

: before you use it, you must Alt+T (Menu->Options->Document Options...)to add type support to "*.cc" files in NS2 source code.

: The following is my configure file generated from doxygen-gui under Debian. (You can apt-get doxygen and related tools)

# Doxyfile 1.5.1

#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME            = NS2
PROJECT_NUMBER          = 2.31
OUTPUT_DIRECTORY        = /home/fang/doc-ns/
CREATE_SUBDIRS          = NO
OUTPUT_LANGUAGE         = English
USE_WINDOWS_ENCODING    = NO
BRIEF_MEMBER_DESC       = YES
REPEAT_BRIEF            = YES
ABBREVIATE_BRIEF        = "The $name class" \
                          "The $name widget" \
                          "The $name file" \
                          is \
                          provides \
                          specifies \
                          contains \
                          represents \
                          a \
                          an \
                          the
ALWAYS_DETAILED_SEC     = NO
INLINE_INHERITED_MEMB   = NO
FULL_PATH_NAMES         = YES
STRIP_FROM_PATH         = /home/fang/
STRIP_FROM_INC_PATH     =
SHORT_NAMES             = NO
JAVADOC_AUTOBRIEF       = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP          = NO
INHERIT_DOCS            = YES
SEPARATE_MEMBER_PAGES   = NO
TAB_SIZE                = 8
ALIASES                 =
OPTIMIZE_OUTPUT_FOR_C   = NO
OPTIMIZE_OUTPUT_JAVA    = NO
BUILTIN_STL_SUPPORT     = NO
DISTRIBUTE_GROUP_DOC    = NO
SUBGROUPING             = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL             = YES
EXTRACT_PRIVATE         = YES
EXTRACT_STATIC          = YES
EXTRACT_LOCAL_CLASSES   = YES
EXTRACT_LOCAL_METHODS   = NO
HIDE_UNDOC_MEMBERS      = NO
HIDE_UNDOC_CLASSES      = NO
HIDE_FRIEND_COMPOUNDS   = NO
HIDE_IN_BODY_DOCS       = NO
INTERNAL_DOCS           = NO
CASE_SENSE_NAMES        = YES
HIDE_SCOPE_NAMES        = NO
SHOW_INCLUDE_FILES      = YES
INLINE_INFO             = YES
SORT_MEMBER_DOCS        = YES
SORT_BRIEF_DOCS         = NO
SORT_BY_SCOPE_NAME      = NO
GENERATE_TODOLIST       = YES
GENERATE_TESTLIST       = YES
GENERATE_BUGLIST        = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS        =
MAX_INITIALIZER_LINES   = 30
SHOW_USED_FILES         = YES
SHOW_DIRECTORIES        = NO
FILE_VERSION_FILTER     =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET                   = NO
WARNINGS                = YES
WARN_IF_UNDOCUMENTED    = YES
WARN_IF_DOC_ERROR       = YES
WARN_NO_PARAMDOC        = NO
WARN_FORMAT             = "$file:$line: $text"
WARN_LOGFILE            =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT                   = /home/fang/ns-2.31/
FILE_PATTERNS           = *.c \
                          *.cc \
                          *.cxx \
                          *.cpp \
                          *.c++ \
                          *.d \
                          *.java \
                          *.ii \
                          *.ixx \
                          *.ipp \
                          *.i++ \
                          *.inl \
                          *.h \
                          *.hh \
                          *.hxx \
                          *.hpp \
                          *.h++ \
                          *.idl \
                          *.odl \
                          *.cs \
                          *.php \
                          *.php3 \
                          *.inc \
                          *.m \
                          *.mm \
                          *.dox \
                          *.py \
                          *.C \
                          *.CC \
                          *.C++ \
                          *.II \
                          *.I++ \
                          *.H \
                          *.HH \
                          *.H++ \
                          *.CS \
                          *.PHP \
                          *.PHP3 \
                          *.M \
                          *.MM \
                          *.PY
RECURSIVE               = YES
EXCLUDE                 =
EXCLUDE_SYMLINKS        = NO
EXCLUDE_PATTERNS        =
EXAMPLE_PATH            =
EXAMPLE_PATTERNS        = *
EXAMPLE_RECURSIVE       = NO
IMAGE_PATH              =
INPUT_FILTER            =
FILTER_PATTERNS         =
FILTER_SOURCE_FILES     = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER          = YES
INLINE_SOURCES          = NO
STRIP_CODE_COMMENTS     = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION     = YES
REFERENCES_LINK_SOURCE = YES
USE_HTAGS               = NO
VERBATIM_HEADERS        = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX      = NO
COLS_IN_ALPHA_INDEX     = 5
IGNORE_PREFIX           =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML           = YES
HTML_OUTPUT             = html
HTML_FILE_EXTENSION     = .html
HTML_HEADER             =
HTML_FOOTER             =
HTML_STYLESHEET         =
HTML_ALIGN_MEMBERS      = YES
GENERATE_HTMLHELP       = NO
CHM_FILE                =
HHC_LOCATION            =
GENERATE_CHI            = NO
BINARY_TOC              = NO
TOC_EXPAND              = NO
DISABLE_INDEX           = NO
ENUM_VALUES_PER_LINE    = 4
GENERATE_TREEVIEW       = YES
TREEVIEW_WIDTH          = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX          = YES
LATEX_OUTPUT            = latex
LATEX_CMD_NAME          = latex
MAKEINDEX_CMD_NAME      = makeindex
COMPACT_LATEX           = NO
PAPER_TYPE              = a4wide
EXTRA_PACKAGES          =
LATEX_HEADER            =
PDF_HYPERLINKS          = NO
USE_PDFLATEX            = NO
LATEX_BATCHMODE         = NO
LATEX_HIDE_INDICES      = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF            = YES
RTF_OUTPUT              = rtf
COMPACT_RTF             = NO
RTF_HYPERLINKS          = NO
RTF_STYLESHEET_FILE     =
RTF_EXTENSIONS_FILE     =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN            = NO
MAN_OUTPUT              = man
MAN_EXTENSION           = .3
MAN_LINKS               = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML            = YES
XML_OUTPUT              = xml
XML_SCHEMA              =
XML_DTD                 =
XML_PROGRAMLISTING      = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF    = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD        = NO
PERLMOD_LATEX           = NO
PERLMOD_PRETTY          = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor   
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING    = YES
MACRO_EXPANSION         = NO
EXPAND_ONLY_PREDEF      = NO
SEARCH_INCLUDES         = YES
INCLUDE_PATH            =
INCLUDE_FILE_PATTERNS   =
PREDEFINED              =
EXPAND_AS_DEFINED       =
SKIP_FUNCTION_MACROS    = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references   
#---------------------------------------------------------------------------
TAGFILES                =
GENERATE_TAGFILE        =
ALLEXTERNALS            = NO
EXTERNAL_GROUPS         = YES
PERL_PATH               = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool   
#---------------------------------------------------------------------------
CLASS_DIAGRAMS          = NO
HIDE_UNDOC_RELATIONS    = YES
HAVE_DOT                = YES
CLASS_GRAPH             = YES
COLLABORATION_GRAPH     = YES
GROUP_GRAPHS            = YES
UML_LOOK                = NO
TEMPLATE_RELATIONS      = NO
INCLUDE_GRAPH           = YES
INCLUDED_BY_GRAPH       = YES
CALL_GRAPH              = YES
CALLER_GRAPH            = NO
GRAPHICAL_HIERARCHY     = YES
DIRECTORY_GRAPH         = YES
DOT_IMAGE_FORMAT        = png
DOT_PATH                =
DOTFILE_DIRS            =
MAX_DOT_GRAPH_WIDTH     = 1024
MAX_DOT_GRAPH_HEIGHT    = 1024
MAX_DOT_GRAPH_DEPTH     = 1000
DOT_TRANSPARENT         = NO
DOT_MULTI_TARGETS       = NO
GENERATE_LEGEND         = YES
DOT_CLEANUP             = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine   
#---------------------------------------------------------------------------
SEARCHENGINE            = NO

At last, let me introduce "Make" tool -- which is very important for you to add your own models in NS2 library:

Open your Makefile, find

OBJ_CC =

just add you models at the last line, like:

wpan/p802_15_4csmaca.o wpan/p802_15_4fail.o \
wpan/p802_15_4hlist.o wpan/p802_15_4mac.o \
wpan/p802_15_4nam.o wpan/p802_15_4phy.o \
wpan/p802_15_4sscs.o wpan/p802_15_4timer.o \
wpan/p802_15_4trace.o wpan/p802_15_4transac.o \
apps/test.o \
$(OBJ_STL)

Don't foget the last slash \.

Another two lines are also very important:

INCLUDES = \       //it is needed when you compile the source code, every compile step      

LIB = \                  //it is needed when you link all the .o file to ns executable, the last step

When you finish editing the files, first "make clean" to clean all .o files and then "make" to make new ns for yourself.

阅读(1272) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~