??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品一区二区三区久久,一本久道久久综合狠狠躁AV,91精品国产高清久久久久久国产嫩草 http://www.shnenglu.com/prayer/category/10273.html在一般中L卓越zh-cnThu, 24 Dec 2009 18:51:24 GMTThu, 24 Dec 2009 18:51:24 GMT60文生成工具doxygen+囑փ生成工具GraphVizhttp://www.shnenglu.com/prayer/archive/2009/12/24/103989.htmlPrayerPrayerThu, 24 Dec 2009 13:57:00 GMThttp://www.shnenglu.com/prayer/archive/2009/12/24/103989.htmlhttp://www.shnenglu.com/prayer/comments/103989.htmlhttp://www.shnenglu.com/prayer/archive/2009/12/24/103989.html#Feedback0http://www.shnenglu.com/prayer/comments/commentRss/103989.htmlhttp://www.shnenglu.com/prayer/services/trackbacks/103989.html

虽然jdk自带的javadoc也很好用Q不q用doxygen+GraphViz 的组合可以生成许多强大的图(cd、协作图、文件包?被包含图、函数调?被调用图、类l承体系囄Q,另外Qdoxygen支持直接生成chm文档Q? 支持LaTeX公式Q如果你有一个支持php的服务器Q生成的htmlq可以加入一个搜索框?br>
doxygen是开源的C语言软体Q可以在它的官方|站上下载到软体和源码:
http://www.stack.nl/~dimitri/doxygen

使用它的doxyWizard很是方便^^ 具体用法我写在了附g的文档中Q不q注释是C++版,doxygen是可以用默认的javadoc注释的,你只需要将讑֮Ҏoutput for JavaQ?br> 它还可以自定义css/head/footQ由于用于内部交于是就没有讑֮Q可以在Export的HTML选项卡中修改Q传说中MySQL的文就是doxygen生成的。。?br>
doxygen内置了生成类囄功能Q只需要设定Diagram的项?br> 要生成更多图的请下蝲GraphViz?br> 它是一Ƒּ大的可以生成很多U图像的软gQ同样也是开源的Q?a target="_blank">http://www.graphviz.org/?br> 它还提供了Java支持Q有一个纯java~写的子目Grappa。按照上面的说明Q似乎javaE序可以通过Grappa库来实现GraphViz的功能(Grappa调用GraphViz的接口)?br>
大家有兴可以尝试一?挺好玩的说^^
附g是一个Doxygen使用?docxQ里面包含了我这几天玩得doxyWizard的简单用说明?br> 以及 一个用doxyWizard生成的chm文gQ只用了cd、文件包含图和类l承体系图?/p>

?a >Doxygen使用?docx?nbsp;?a >DBOp.chm?/p>

生成图演C:

  • cd
  • 协作?br>
  • 文g包含?br>
  • 函数调用?br>
  • cȝ承体pd


Prayer 2009-12-24 21:57 发表评论
]]>
doxygen使用手记 下蝲路径 ftp://ftp.stack.nl/pub/users/dimitri/http://www.shnenglu.com/prayer/archive/2009/12/24/103988.htmlPrayerPrayerThu, 24 Dec 2009 13:42:00 GMThttp://www.shnenglu.com/prayer/archive/2009/12/24/103988.htmlhttp://www.shnenglu.com/prayer/comments/103988.htmlhttp://www.shnenglu.com/prayer/archive/2009/12/24/103988.html#Feedback0http://www.shnenglu.com/prayer/comments/commentRss/103988.htmlhttp://www.shnenglu.com/prayer/services/trackbacks/103988.html很多Q自己选吧



Prayer 2009-12-24 21:42 发表评论
]]>
如何使用Doxygenhttp://www.shnenglu.com/prayer/archive/2009/12/24/103959.htmlPrayerPrayerThu, 24 Dec 2009 08:39:00 GMThttp://www.shnenglu.com/prayer/archive/2009/12/24/103959.htmlhttp://www.shnenglu.com/prayer/comments/103959.htmlhttp://www.shnenglu.com/prayer/archive/2009/12/24/103959.html#Feedback0http://www.shnenglu.com/prayer/comments/commentRss/103959.htmlhttp://www.shnenglu.com/prayer/services/trackbacks/103959.html

Doxygen是什么?

    Doxygen是一U开源跨q_的,以类似JavaDoc风格描述的文系l,完全支持C、C++、Java、Objective-C和IDL语言Q部分支持PHP、C#。注释的语法与Qt-Doc、KDoc和JavaDoc兼容?a name=baidusnap2>Doxgen可以从一套归源文g开始,生成HTML格式的在U类览器,或离U的LATEX、RTF参考手册。对于未归档的源文gQ也可以通过配置Doxygen来提取代码结构。或者借助自动生成的包含依赖图Qinclude dependency graphsQ、承图Q?a name=baidusnap0>inheritance diagramQ以及协作图Qcollaboration diagramQ来可视化文档之间的关系。Doxygen生成的帮助文档的格式可以是CHM、RTF、PostScript、PDF、HTML和Unix man page{?/p>

   Doxygen在Linux上开发,但也可以在其它的Unixq_下运行。而且QWindows 9x/NTq_下也有对应的可执行版本?/p>

安装Doxygen

    首先Q去Doxygen|站上找到最新版本的Doxygen。有二进制或源码两种版本Q如果不想重头编译,下蝲二进制版本安装即可。在Linux下,源码~译需要perl和Gnu工具flex、bison、make的支持。在Windows下,二进制版本勿需安装Q而源码编译所需支持工具较多。我们仅讲述Linux下的Doxygen的源码编译以及二q制版本安装q程?/p>

~译源码

gunzip doxygen-$VERSION.src.tar.gztar xf doxygen-$VERSION.src.tarsh ./configureQ或者configure --platform platform-typeQ略ȝ接用configure需要^台检的q程Q^台类型在PLATFORMS文g中列出)Qconfigure --with-doxywizardQGUI前端选项QmakeQ或者make docsQ创建HTML格式的手册)Qmake pdfQ创建PDF格式的手册)

安装二进制版?/strong>

./configuremake install

    二进制文件安装目录是<prefix>/binQ其?lt;prefix>~省?usrQ可以通过configure的参?-prefix修改其倹{用make install_docs可以把文和例子安装在目?lt;docdir>/doxygenQ其?lt;docdir>~省?lt;prefix>/share/doc/packagesQ可以通过configure的参?-docdir修改其倹{doxygen是bin目录下的一个命令行E序Q它是Doxygen的核心工P完成文档的{换和生成工作?/p>

Doxygen的处理流E?/h4>

?是Doxygen|站上给出的Doxygen处理工具以及它们之间的信息流?/p>

    从图中可以看出,Doxygen可执行程序位于正中,所有的程都围l着它进行。左侧图标表CDoxygen的输入可以是源文Ӟ或者是定制的头文g、图像、注解等。Doxygen图标上部是配|文Ӟ由Doxywizard处理Q下部是Tag文gQ由Doxytag处理。后面是Doxygen输出文g的类型,依次是XML、Latex、Man pages、RTF和HTMLQ可处理cd图标之后是进行进一步{换所需的工兗?/p>

?   Doxygen|站上给出的Doxygen信息图

配置文g

    每一个Doxygen工程都有一个后~?cfg的配|文Ӟ用来保存所有的讄。配|文件的格式与autoexec.bat、config.sys{文件相|是由名称/值对l成的ASCII码,会由doxygen命o来解析。ؓ了简化创建和修改配置文gQDoxygen可以在命令行方式下加上参?g自动创徏模板文g?/p>

doxygen -g <config-file>

     忽略<config-file>会生成一个名为Doxyfile的缺省文Ӟ如果<config-file>已经存在Q会被Doxygen改名?lt;config-file>.bak?/p>

   实际上,我们Ҏ׃需要用一般的~辑器来~辑配置文gQDoxygen提供了一个辅助工具Doxywizard。Doxywizard是Doxygen的GUI前台Q用户可以能q它来读写配|文Ӟ省却了手工配|的ȝ。基本上Q在Doxywizard中可以完成Doxygen的绝大多数工作,而且Doxygen也可以在由Doxywizard启动Q这样就使得整个q程比较q诏?/p>

    虽然如此Q我们还是要理解常见的各个Tag的含义。在Doxywizard中,可以看到q些Tag以自明的方式命名Q我们大致可以从名称中看出其作用。这些Tag被Doxywizard大致分ؓ几类Q其中HTML到PerlMod是输出文件种c设|,Project是Doxygen工程讄QBuild是编译类选项QMessages为出错或异常选项QInput入源选项Q等{?/p>

?   Doxywizard

注释

    Doxygen规定了进行注释的一些格式,正确的注释才能Doxygen生成文档。第一个代码条目,都有两种描述Q简要描q和详细描述Q两者都是可选的。简要描q只有一行,而详l描q则提供更长、更仔细的描qͼDoxygen只允许有一个简要描q和详细描述?/p>

     在Doxygen中,一般只会处理与E序l构相关的注释,函数内部的注释通常不做处理。对于详l描q来_有下面几U表C方式?/p>
JavaDoc风格Q中间的"*"号可选?*** 注释*/Qt风格Q中间的"*"号可选?*!* 注释*/C++风格的变体,或者最后一?/"改ؓ"Q?也可以?// 单行注释/// 注释///更加显著的表C?///////////////////////////////////////////// 注释///////////////////////////////////////////要描qC有多U表C方式。在上述注释块中使用\brief命oQ详l注释在I之后开始?*! \brief 要描q?   l箋** 详细注释*/JAVADOC_AUTOBRIEF讄为YES后,在JavaDoc风格的注释中Q第一个点号之前的内容被自动设|ؓ要描q。对于多行C++变体Q这个选项亦会起到相同的作用?** 要描q?详细描述* 注释*/C++变体风格?// 要描q?* 详细描述 */
            

命o

    Doxygen支持的指令非常多Q主要作用是控制输出文的排版格式。命令以"\"?@"号开始?/p>

一些命令可以有多个参数Q一些命令只有一个参数。参数周围的括号使用是有含义的:

  • <>可C参数是单个词?
  • ()可C参C直会到行?
  • {}可C参C扩展C一D落?
  • []可C参数是可选的?/li>

下面章节中也涉及C些命令的使用Q其它的命o可以查阅Doxygen用户手册?/p>

列表

Doxygen有许多方法可以创建项目列表?/p>
使用"-"在每行开始之前打_使用"."可以l束一个列表,开始新的段落。用这U方法要严格寚w?***  - 表项一*    - 子项一*    - 子项?    .*  .*/在文块中用HTML命o。这U方法不需要严格对齐?*!*  <ul>*  <li> 表项一*  <ol>*     <li> 子项一*     <li> 子项?     </ol>*  <li> 表项?  </ul>*/

分组

    Doxygen有两U分l机制。第一U是全局Cؓ每一个组创徏一个网,此时分组被称?module"Q第二种是用于复合实体中的成员列表,此时分组被称?member group"。Module是一U把内容在单个网上分组的方法。分l可以包括filesQnamespaceQclassesQfunctionsQvariablesQenumsQtypedefs和definesQ也可以包含其它分组。复合实体(compound entitiesQ如cR文件、命名空间等可以分布在多个分l中Q而成员实体(memberQ如变量、函数、typedef{只能归属于一个分l?/p>

定义分组的方法是在特D注释块中用命令\defgroup和\addtogroup?defgroup的格式如下:

\defgroup <唯一标识?gt; Q中间可以有I格的标题)

    两次使用同一标识名,在doxygen解析的时候会出现错误。命令addtogroup与defgroup不同的地方在于,如果使用了同一标识Q则会在改组中加入新的项Q如果标识不重复Q则会创建分l。addtogroup中的标题是可选的?/p>

    声明分组之后Q如果要使某个实体归属某一分组Q需要用ingroup命o。避免在每个成员之前都用ingroup命oQ可以将member用@{和@}装h?/p>
/** * \ingroup A */extern int VarInA;/** * \defgroup IntVariables Global integer variables *//*@{*//** an integer variable */extern int IntegerVariable;/*@}*/..../** * \defgroup Variables Global variables *//*@{*//** a variable in group A */int VarInA;int IntegerVariable;/*@}*/

    上面q些命o都是有优先的,doxygen会根据优先񔞮实体放入具有最高优先的分l之中。它们的优先U顺序是QingroupQdefgroupQaddtogroupQweakgroup。weakgroupcM一个低优先U的addtogroup。在.h文g中可以用高优先U的命o定义层次l构Q在.c文g中\weakgroup׃需要准遵?h文g中定义的层次l构?/p>

如果要把不同的类型归入同一分组内,p使用Member groupQ它的定义方法如下:

//@{   ...//@}或?*@{*/   ... /*@}*/

Member group不可以嵌套?/p>

图表

    Doxygen里有内置生成C++cdơ图的功能。它使用贝尔实验室开发的graphviz 1.5中的工具"dot"来生成更高的图表。用这个工hQ要配|选项HAVE_DOT设ؓYES?/p>

  • 当GRAPHICAL_HIERARCHY讄为YESӞ会l制一个图形表C的cdl构?
  • 当CLASS_GRAPH讄为YESӞ会ؓ每个归档的类创徏一张图表示其直接或间接的承关pR?
  • 当INCLUDE_GRAPH讄为YESӞ会ؓ每个归档文g创徏一q包含依赖图Q此功能目前仅有HTML和RTF格式支持?
  • 当COLLABORATION_GRAPH讄为YESӞ会ؓ每个归cLl构l制基类l承关系囑֒使用关系图?
  • 当CALL_GRAPH讄为YESӞ会ؓ每个函数昄一q直接或间接调用关系图?

更具体的信息可以参考Doxygen的手册?/p>

公式

    Doxygen可以把LaTeX格式的公式输出出来。要在HTML文里包含公式,需要安装下面的工具QlatexQLaTeX~译器)、dvipsQ将DVI文g转换为PS文gQ、gsQ将PS文g转换Z图)?/p>

包含公式的方法有两种Q?/p>
使用\f$命o对表C文本中间的公式Q遵循LaTeX格式。\f$(x_1, y_1)\f$  (x1,y1)位于独立一行上未编L公式Q应攑֜命o\f[和\f]之间。\f[    |I_2|=\left| \psi(t)           \right|\f]对应的输出是|I2|=|ψ(t)|?/pre>
                        

中文文档

    Doxygen支持多种语言Q输Z文文的时候,只需要将配置文g中的OUTPUT_LANGUAGE标签讄为Chinese卛_Q用Doxywizard修改更方便)?/p>

    有一个需要注意的问题是,在Windows下的览器浏览中文HTML文档Ӟ英文字母会变得很隄Q解决的办法是将doxygen_cn.css下蝲到本地硬盘,q将配置文g中的HTML_STYLESHEET修改个文件的位置?/p>

HTML_STYLESHEET=c:\doxygen\doxygen.css

q行doxygen

在命令行下运行doxygen是很单的Q只需要指定配|文件即可?/p>

doxygen project.cfg

或者,也可以用Doxywizard在配|完后直接运行doxygen?/p>



Prayer 2009-12-24 16:39 发表评论
]]>
Windows下用doxygen阅读和分析C/C++代码http://www.shnenglu.com/prayer/archive/2009/12/24/103958.htmlPrayerPrayerThu, 24 Dec 2009 08:37:00 GMThttp://www.shnenglu.com/prayer/archive/2009/12/24/103958.htmlhttp://www.shnenglu.com/prayer/comments/103958.htmlhttp://www.shnenglu.com/prayer/archive/2009/12/24/103958.html#Feedback0http://www.shnenglu.com/prayer/comments/commentRss/103958.htmlhttp://www.shnenglu.com/prayer/services/trackbacks/103958.html          doxygen的安装很单,到官方网站下载doxygen的windows安装E序卛_。除了安装doxygen外,q需要安装graphvizQ因为doxygen需要用graphviz的dot.exe生成调用图。graphviz在它的官方网站上也可以下载到安装E序。不q我下蝲的安装程序在安装时老是报cab文g错误。最后我下蝲了graphviz的release文gQ即安装E序下面的zip压羃文gQ下载完成后解压~即可?/p>

         安装完doxygen后即可进行适当的配|,然后q行doxyfile生成文。基本的配置前h早有说明Q不再赘q。需要注意的是:

        1.要勾选Dot选项卡下面的HAVE_DOT、CALL_GRAPH 、CALLER_GRAPH 选项。ƈ在DOT_PATH下面填入dot.exe的\径,也就是graphviz安装目录下的bin文g夏V?/p>

        2.NWizard->Project选项卡下面的Scan recursivelyQ?/p>

        3.NBuild选项卡下面的EXTRACT_ALL、EXTRACT_PRIVATE、EXTRACT_STATIC、EXTRACT_LOCAL_CLASSES、EXTRACT_LOCAL_METHODS选项

        4.如果E序里面有中文,Project选项卡下的DOXYFILE_ENCODING和Input选项卡下面的INPUT_ENCODING改ؓGBK

       5.可以勾掉LATEX输出Q这栯省编译时?/p>

Prayer 2009-12-24 16:37 发表评论
]]>
使用Doxygen为C\C++代码写文?http://www.shnenglu.com/prayer/archive/2009/12/24/103956.htmlPrayerPrayerThu, 24 Dec 2009 08:36:00 GMThttp://www.shnenglu.com/prayer/archive/2009/12/24/103956.htmlhttp://www.shnenglu.com/prayer/comments/103956.htmlhttp://www.shnenglu.com/prayer/archive/2009/12/24/103956.html#Feedback0http://www.shnenglu.com/prayer/comments/commentRss/103956.htmlhttp://www.shnenglu.com/prayer/services/trackbacks/103956.html阅读全文

Prayer 2009-12-24 16:36 发表评论
]]>
使用 rose ?c++代码转换?uml cdhttp://www.shnenglu.com/prayer/archive/2009/12/24/103954.htmlPrayerPrayerThu, 24 Dec 2009 08:25:00 GMThttp://www.shnenglu.com/prayer/archive/2009/12/24/103954.htmlhttp://www.shnenglu.com/prayer/comments/103954.htmlhttp://www.shnenglu.com/prayer/archive/2009/12/24/103954.html#Feedback0http://www.shnenglu.com/prayer/comments/commentRss/103954.htmlhttp://www.shnenglu.com/prayer/services/trackbacks/103954.html阅读本文章,你需要对 uml 有简单的了解Q懂得以下术语:

cd( class diagram ) ?c++ 中的 class ?/p>

聚合( Aggregation ) x们c++中的引用。表Cؓ class 头文件中的一个或多个指针成员?/p>

l合( Composition ) ?c++ 中的成员对象。表Cؓclass 头文件中的一个或多个对象成员。(也可以表Cؓ指针成员Q但需要在cM实例化此对象 Q?/p>

泛化( Generalization ) 即ѝ?/p>

双向兌(Bidirectional Associations)  轻量U的 聚合 ?l合。的即c++中的交叉引用?/font>

依赖Q?nbsp;Dependency ) 从另一个维度表q?l合 ?聚合。即在class A 中?class B的方法或操作 class B 的成员?/span>

 

用例视图( user case view )、逻辑视图( logical view )、组件视? component view )、部|视? deployment view )?/p>

要了解相关的知识Q可以参?Q?font face=Verdana>UML Distilled > 一?Chapter 3. Class Diagrams: The Essentials ?cdQ基本知? ?Chapter 5. Class Diagrams: Advanced Concepts Q类图:高概念Q?/p>

Q注Q此书中译本叫<UML_aQ,不过译得甚涩,文言文学得不错的可以考虑。繁体版叫<uml _֍Q,赵光正译。熟悉台湾术语的可以考虑??/p>

uml_a详细信息

 UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition
By Martin Fowler
  
Publisher : Addison Wesley
Pub Date : September 15, 2003
ISBN : 0-321-19368-7
Pages : 208

rose 提供?reserver engineer Q逆向设计Q的功能Q用于将 c++ cL件{化ؓcdQƈ描述cMcM间的关系?nbsp;

?rose 逆向一l?c++ class 的一般步骤是Q?/p>

1、新Z个空白工E?/p>

2、添加一个组Ӟ用于容纳一l类文g?/p>

3、设|?lg属性。指定解?cL件用的插gQ以及逆向出的cM用的包名U?/p>

4、解析,?逻辑视图中的指定? package )中生成相应的cd?/p>

5、将x的类拖到指定的视图中Q观察其l构以及与其它成员的关系?/p>

1、新Z个空白工E。完成后工程信息如下:

图中 untitled 表示q是一个未命名的文档?四个大文件夹分别表示 用例视图、逻辑视图、组件视图、部|视图。每个大文g夹下面有?main l点。这是用来显C视图内容?#8220;桌布”。双Ll点Q便会在ȝ口中打开此桌布。结点可以添加、重命名?/p>

2、新建组Ӟ指定其相兛_性?/p>

在工E的 compnent view (lg视图)l点上单击,选择 new -> component。便创徏了一个新的组件。右键此lgQ选择"open specifition"(属性设|?。在弹出?component Q组件属性)H口?general 选项卡上Q更改其name(名字)属性和 language 属性。name LQ?language 选择 ANSI c++。(默认?analysysQ。点“定”。这里,我们其名称命名?"constol"

3?nbsp;指定相关的类文g?/p>

右键 constol lgQ选择“open ANSI c++ specifition ”Q在出现?nbsp; 属性窗口中 file选项卡中Q更?Reverse engineering root package ,Q默认ؓ c++ reverse Engineered。)名称随意。这里我们改?constol。指?nbsp;project filesQ?nbsp;目文gQ。把要解析的 c++源文仉包含q来。点“定”?/p>

4、回到工E视图。在 component 中的 constol 上,右键Q?#8220;ANSI c++”-> “reverse engineer”Q点“定”。这时会?logical view 下生成一个新的文件夹l点Q结点名UCؓ 我们在第3步中 Reverse engineering root package 中ȝ内容。结点下面包含了由源代码中解析出的类?/p>

5、在 logical view 中,双击 main l点。便打开了一?main 逻辑视图。挨个把 logical view -> constol l点?nbsp;的所有类l点拖到 main 视图中。则cȝ成员、类的关pM在视图中昄出来?/p>

 

 

 


范晨?br>------------------
软g是一U态度
成功是一U习?br>东Y·大连·电信事业?br>p_168@163.com




Prayer 2009-12-24 16:25 发表评论
]]>
Rational Rose׃码生成类?http://www.shnenglu.com/prayer/archive/2009/12/24/103953.htmlPrayerPrayerThu, 24 Dec 2009 08:24:00 GMThttp://www.shnenglu.com/prayer/archive/2009/12/24/103953.htmlhttp://www.shnenglu.com/prayer/comments/103953.htmlhttp://www.shnenglu.com/prayer/archive/2009/12/24/103953.html#Feedback0http://www.shnenglu.com/prayer/comments/commentRss/103953.htmlhttp://www.shnenglu.com/prayer/services/trackbacks/103953.html一Q正向工E?nbsp; 
  1、设|默认语a为JavaQTools->Options->Notation->defaultQ选择Java?nbsp; 
   
  2、设|环境变量ClassPathQTools->Java/j2ee->Project   Specification->ClassPathQ具体\径设|ؓ正向工程生成java文g要保存的目录Q一般ؓ目的src目录?nbsp; 
   
  3、打开设计好的cdQ选中要生成的Java文g的类Q然后通过Tools->Java/J2ee->General   Code生成java文g.  
   
  4、正向工E注意事:  
   
                    以上是正向工E的操作程Q过E比较简单,主要是操作过E中以及设计cL有些问题大家需要注意一下,以后实际操作时会节省一些时_主要有以下几点:  
                    1Q?生成代码前将Project   Specifiction属性页Code   Generation标签中的Generate   Rose   ID   ?nbsp;  Generate   Default   Return   Line两个复选框的默认选中状态去掉,以免生成一些我们不需要的信息  
                    2Q?设计model{值对象时,不必为其设计getter(),setter()ҎQ将对应字段属性设|ؓQproerty   type:simple   卛_Q正向工E会自动生成其getter,setterҎ?nbsp; 
   
                    3Q?cM间调用关pȝ设计Q?nbsp; 
              一般Ac调用Bc,最l代码中l常以在Ac里初始化一个bcȝ变量。在设计Ӟ不要在AcM设计一个Bcȝ型的属性。这U关p要在Association   Specification中通过为Role   A指定值来实现?nbsp; 
                    4Q?c设计时要按开发规范写好类和方法的注释Q正向工E会注释生成到代码中,开发过E中注释如有改动Q可通过逆向工程类囑֒代码保持同步?nbsp; 
   


  二、逆向工程操作程

  1.点击Tools->Java/J2ee->Reverse   EngineerQ调出Java   Reverse   Engineer对话框?nbsp; 
   
  2、在此页面添加要q行逆向工程的Java文gQƈ选中Q然后点击Reverse按钮卛_?nbsp; 
   
  3、关于逆向工程的一点说明?nbsp; 
   
              逆向工程操作更ؓ单,试验q行逆向工程主要是看代码开发完q行逆向同步设计会不会出问题Q以及信息会不会丢失Q已l用物h查询模块的代码进行了逆向工程的测试,基本W合我们目的要求,有两炚w要注意一?nbsp; 
        1Q?q行逆向Ӟ若有兌的类Q包括我们框架的cL别的模块的类Q不存在Q则逆向会报错,无法q行  

 

本文来自CSDN博客Q{载请标明出处Q?a >http://blog.csdn.net/wangyi1015/archive/2009/06/04/4241897.aspx



Prayer 2009-12-24 16:24 发表评论
]]>
q行时变更fields内容http://www.shnenglu.com/prayer/archive/2009/04/17/80292.htmlPrayerPrayerFri, 17 Apr 2009 12:31:00 GMThttp://www.shnenglu.com/prayer/archive/2009/04/17/80292.htmlhttp://www.shnenglu.com/prayer/comments/80292.htmlhttp://www.shnenglu.com/prayer/archive/2009/04/17/80292.html#Feedback0http://www.shnenglu.com/prayer/comments/commentRss/80292.htmlhttp://www.shnenglu.com/prayer/services/trackbacks/80292.html
  与先前两个动作相比,“变更field内容”L多了Q因为它不需要参数和自变量。首先调用Class的getField()q指定field名称。获得特定的Field object之后便可直接调用Field的get()和set()Q如??br>
  #001 public class Test {
  #002 public double d;
  #003
  #004 public static void main(String args[])
  #005 {
  #006 Class c = Class.forName("Test");
  #007 Field f = c.getField("d"); //指定field 名称
  #008 Test obj = new Test();
  #009 System.out.println("d= " + (Double)f.get(obj));
  #010 f.set(obj, 12.34);
  #011 System.out.println("d= " + obj.d);
  #012 }
  #013 }


Prayer 2009-04-17 20:31 发表评论
]]>
关于Class.class.getClass()http://www.shnenglu.com/prayer/archive/2009/04/17/80286.htmlPrayerPrayerFri, 17 Apr 2009 11:42:00 GMThttp://www.shnenglu.com/prayer/archive/2009/04/17/80286.htmlhttp://www.shnenglu.com/prayer/comments/80286.htmlhttp://www.shnenglu.com/prayer/archive/2009/04/17/80286.html#Feedback1http://www.shnenglu.com/prayer/comments/commentRss/80286.htmlhttp://www.shnenglu.com/prayer/services/trackbacks/80286.html
前几天朋友问一个问?strong>Class.class.getClass(),只知道是java的反机制。具体讲不清楚,上网查了一下与大家׃nQ?/div>
 
Class与class都承自Object,class实体来代表javaq行时的class和interface{等Q?/div>
Class.class是得到或者生成这个ClasscȝClass ObjectQ?/div>
?getClass()本就是返回一个类对应的Class   Object  Q?/div>
所以Class.class.getClass()最后还是返回Class   Object
 
ȝ如下Q{Q:
  ClasscLZ保存JAVA虚拟行时(RTTI)Ҏ有对象进行类型识别的信息而设立的.  
  当然Class也是l承自Objectcȝ,每个c都有Class对象,惛_C个类的Class对象共有三种Ҏ.  
  1:调用getClass()   
  Employee emp;  
  Class   cls=emp.getClass();  
  2:静态方法forName(String   )   
  String   className="Employee";  
  Class   cls=Class.forName(className);  
  3:class成员变量?/strong>  
  Class   cls=Employee.class;   

  Class.class.getClass()的意思应该很清楚?/div>
  Class.classq回一个ClasscȝClass对象,
  在调用getClass()又一ơ返回Class的对象?/div>


Prayer 2009-04-17 19:42 发表评论
]]>String..::.Split Ҏ http://www.shnenglu.com/prayer/archive/2009/04/17/80285.htmlPrayerPrayerFri, 17 Apr 2009 11:34:00 GMThttp://www.shnenglu.com/prayer/archive/2009/04/17/80285.htmlhttp://www.shnenglu.com/prayer/comments/80285.htmlhttp://www.shnenglu.com/prayer/archive/2009/04/17/80285.html#Feedback0http://www.shnenglu.com/prayer/comments/commentRss/80285.htmlhttp://www.shnenglu.com/prayer/services/trackbacks/80285.htmlq回的字W串数组包含此实例中的子字符Ԍ由指定字W串?Unicode 字符数组的元素分隔)?



Prayer 2009-04-17 19:34 发表评论
]]>
þù׽| AëƬþþþƷëƬ| þùһ| ۺϳ˾þС˵| 99þþþ| aaþ| þþþۺþ| Ʒþþþþø69| ҹþþþþýӰ| ҹþþþþþþþ| ĻþþƷˮ | ŷƷþþ| ݺɫݺɫۺϾþ| 18ƾþþAAAƬ| þۺɫݺ| þþƷAVɫ| ŷ˾þô߽ۺ| ˾þô߽AVۺӰԺ| һɫþ88ۺ޾Ʒ| þٸ۲AVר| ھƷþþžŹƷ| 99þþƷ| þۺɫ| ޾ƷþþþĻ69| þer99ȾƷһ| һ㽶þֻ| ٸþþþþñŪ߳ | þseֻоƷ| ƷþþĻһ| þþƷа| þAëƬѹۿ| þùƷҰAV| þþƷձҰ| þþƷa޹v岻| ƷŮٸaѾþ| ƷþþĻ| ƷþþƷ| þҹɫƷa| ھƷþþþþþ97ţţ | ԴӰȷþԴ| þ|