• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            Doxygen 的使用簡介

            來源:http://www.vckbase.com/document/viewdoc/?id=1287
            作者:hjs

            下載Doxygen相關文件

              Doxygen 是一個類似 JavaDoc 的文檔生成工具。有了它,C++愛好者就可以為自己的源代碼很方便地生成美觀實用的文檔了。

            為代碼生成文檔標注基礎

              您可以使用JavaDoc風格,類似于由C風格的注釋塊:

            /**
            * ... 文本 ...
            */

            此外您也可以使用Qt風格,如

            /*!
            * ... 文本...
            */

            以上兩種風格中間的*是可選的,也就是下面這樣寫也是可以的:

            /*!
            ... 文本...
            */

            第三種是使用至少兩行C++"http://"注釋,如:

            ///
            /// ... 文本...
            ///

            或者

            //!
            //!...文本...
            //!

            有的程序員也許喜歡下面這種風格,有比較好的視覺效果:

            /////////////////////////////////////////////////
            /// ... 文本...
            /////////////////////////////////////////////////

              對于簡單的描述信息,可能有幾種情況。一種是在注釋塊的開頭使用\brief命令,該命令一直到段落結束有效,所以詳細描述信息從空一行后開始,如下例:

            /*! \brief 簡潔的描述信息 description.
            * 又一些簡潔的描述信息。
            *
            * 詳細描述信息從這里開始。
            */

              在配置文件中,如果JAVADOC_AUTOBRIEF設為YES,則Doxygen將使用JavaDoc風格的注釋塊,從簡潔描述信息后的點空格. 開始為詳細描述信息,例如:

            /** 簡潔信息結尾是一個點號. 詳細描述信息從
            * 這里開始
            */

            該選項對C++風格的多行注釋也是有效的:

            ///簡潔信息結尾是一個點號. 詳細描述信息從
            ///這里開始

            或者:

            /// 簡潔描述信息
            /** 詳細描述信息*/

            或者:

            //!簡潔描述信息
            
            //!詳細描述信息從
            //!這里開始

              此例中間空行用來分割簡潔描述信息塊和詳細描述信息塊??梢奷oxygen的文檔標注使用格式是非常自由的。不過要注意下面格式是不合法的,因為doxygen只允許一塊詳細描述信息對應一塊簡潔描述信息:

            //!簡潔描述信息
            //! 詳細描述信息
            /*! 注意,又一詳細描述信息!
            */
            下例使用Qt風格的文檔標注:
            //! A test class. 
            /*!
            A more elaborate class description.
            */
            
            class Test
            {
              public:
            
                //! An enum.
                /*! More detailed enum description. */
                enum TEnum { 
                             TVal1, /*!< Enum value TVal1. */  
                             TVal2, /*!< Enum value TVal2. */  
                             TVal3  /*!< Enum value TVal3. */  
                           } 
                     //! Enum pointer.
                     /*! Details. */
                     *enumPtr, 
                     //! Enum variable.
                     /*! Details. */
                     enumVar;  
                
                //! A constructor.
                /*!
                  A more elaborate description of the constructor.
                */
                Test();
            
                //! A destructor.
                /*!
                  A more elaborate description of the destructor.
                */
               ~Test();
                
                //! A normal member taking two arguments and returning an integer value.
                /*!
                  \param a an integer argument.
                  \param s a constant character pointer.
                  \return The test results
                  \sa Test(), ~Test(), testMeToo() and publicVar()
                */
                int testMe(int a,const char *s);
                   
                //! A pure virtual member.
                /*!
                  \sa testMe()
                  \param c1 the first argument.
                  \param c2 the second argument.
                */
                virtual void testMeToo(char c1,char c2) = 0;
               
                //! A public variable.
                /*!
                  Details.
                */
                int publicVar;
                   
                //! A function variable.
                /*!
                  Details.
                */
                int (*handler)(int a,int b);
            };
            

              Doxygen的文檔標注是不是非常容易?當然還可以有更高級的應用,如標注列表、分組,甚至支持生成公式(Latex)。上面只編譯了最簡單的一些使用方法,更多內容請參考Doxygen的幫助文檔doxygen_manual。

            附帶文檔的說明:

              DoxygWizard是基于QT的簡易圖形用戶界面,簡化了Doxygen的使用。您可以在DoxygWizard里對需要生成的文檔進行設置,可保存為"Doxyfile",然后調用Doxygen生成文檔。需要注意的是,文件路徑不支持中文,所以盡可能使您的源代碼和文檔目錄均為英文名。在"Doxyfile"文件同一目錄請放置一個"mylogo"純文本文件,內容可以是一些版權標識信息,這些信息將顯示在生成文檔頁面的最下邊,如果沒有此"mylogo"文件,將生成默認的版權標識信息。
              樣式表文件Orignl_doxygen.css、green_doxygen.css、yellow_doxygen.css、Blue_doxygen.css,改文件名為doxygen.css后,拷貝到生成html文檔的目錄內可以改變文檔顯示的樣式。
              OUT PUT_LANGUAGE 可選項為Englisth(英文文檔), Chinese(中文文檔), En_Can_Cn(支持中文注釋的英文文檔)

            相關網址:

            http://www.doxygen.org/download.html
            您還需要下載graphviz dot畫圖:
            http://www.research.att.com/sw/tools/graphviz/

            posted on 2006-10-20 22:43 楊粼波 閱讀(1476) 評論(0)  編輯 收藏 引用 所屬分類: C++

            精品久久久久一区二区三区| 国产精品久久午夜夜伦鲁鲁| 九九99精品久久久久久| 一本一本久久aa综合精品| 久久精品国产亚洲AV电影| 久久青草国产手机看片福利盒子| 久久99精品国产一区二区三区| 亚洲AV乱码久久精品蜜桃| 亚洲精品无码专区久久同性男| 人妻无码精品久久亚瑟影视| 一本久久a久久精品综合香蕉| 久久精品久久久久观看99水蜜桃| 中文字幕热久久久久久久| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 国产精品美女久久福利网站| 久久精品国产亚洲AV忘忧草18| 久久久久久久亚洲Av无码| 国产精品久久永久免费| 久久AV高潮AV无码AV| 久久精品亚洲福利| 26uuu久久五月天| 狠狠色丁香久久综合婷婷| 人妻久久久一区二区三区| 久久一区二区免费播放| 国产精品成人99久久久久| 欧美一区二区精品久久| 无码久久精品国产亚洲Av影片 | 国产精品一区二区久久精品无码 | 2021国内久久精品| 亚洲精品国产自在久久| 久久精品亚洲男人的天堂| 日本久久久精品中文字幕| 99精品久久精品| 久久不射电影网| 国产精品美女久久久久久2018| 婷婷伊人久久大香线蕉AV | 精品欧美一区二区三区久久久| 曰曰摸天天摸人人看久久久| 99久久免费国产精品| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区| 国内精品久久久久久久97牛牛|