提交了一个Doxygen1.4.7的bug和patch

作者在使用Doxygen 1.4.7版本为IDL文件生成文档时遇到问题,发现对属性进行/defgroup和/ingroup标记无法生效。通过查阅源码发现,此版本虽支持IDL文件属性分类,但未更新group相关处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近开始用doxygen来把自己的程序进行文档化,以前使用的是1.4.4。后来下载了一个1.4.7,在对IDL文件的属性进行/defgroup和/ingroup的时候,发现总是不能文档化。doxygen的文档没有任何地方提到对group有什么修改。

于是下载了doxygen的源码进行查看,发现它在1.4.7的时候增加了对IDL文件的属性的分类,但是在group的对应文件并没有增加相应部分。我的test和patch文件可以在http://bugzilla.gnome.org/show_bug.cgi?id=345622下载。

我的样本文件如下:

interface IControl : IDispatch{
        /*!
                /defgroup SinglePropertyGroup IControl Single Property
        */
        /*@{*/
        /*!
                /brief Send Control Command
                /param newVal Control Command
                /return
                        S_OK: Successful /n
                        S_FAIL: Failed /n
        */
        [propput, id(1), helpstring("Send Control Command")] HRESULT
Command([in] BYTE newVal);
        /*!
                /brief Get Control Command
                /param pVal Control Command
                /return
                        S_OK: Successful /n
                        S_FAIL: Failed /n
        */
        [propget, id(1), helpstring("Get Control Command")] HRESULT
Command([out, retval] BYTE* pVal);
        /*@}*/

        /*!
                /defgroup MutiplePropertyGroup IControl Mutiple Property
        */
        /*@{*/
        /*!
                /brief Send Engine State
                /param newVal Engine State
                /return
                        S_OK: Successful /n
                        S_FAIL: Failed /n
        */
        [propput, id(2), helpstring("Send Engine State")] HRESULT
EngineState([in] BYTE newVal);
        /*!
                /brief Get Engine State
                /param pVal Engine State
                /return
                        S_OK: Successful /n
                        S_FAIL: Failed /n
        */
        [propget, id(2), helpstring("Get Control Command")] HRESULT
EngineState([out, retval] BYTE* pVal);
        /*@}*/

        /*!
                /defgroup SingleMethodGroup IControl Single Method
        */
        /*@{*/
        /*!
                /brief Start Engine
                /return
                        S_OK: Successful /n
                        S_FAIL: Failed /n
        */
        [id(3), helpstring("Start Engine")] HRESULT Start();
        /*!
                /brief Stop Engine
                /return
                        S_OK: Successful /n
                        S_FAIL: Failed /n
        */
        [id(4), helpstring("Stop Engine")] HRESULT Stop();
        /*@}*/
};

BTW: 世界杯期间真的好累,一直没有什么时间发文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值