c++ - 将 doxygen 转换为 latex 为 pdf 的问题

标签 c++ constructor doxygen pdflatex

我使用 doxygen 从 c++ 项目创建了一个 latex 文档。之后,我使用 pdflatex 将 refman.tex 文档转换为 pdf(我做了几次以确保所有引用文献都正确完成)。

我的问题是,在我的 24 个类中的 2 个中,构造函数没有出现我在代码中编写的简短信息和参数,而算法却出现了。

我一直在寻找拼写错误,但没有找到。

这是其中一节课的开头:

/*
 * @brief This function implements the constructor of CStatusSender class
 * @details It adds a CoreTimer Listener with STATUSSENDER_BCAST_PERIOD period 
 *  of 1000 ms to send the status packet every time the timer is called
 * @param ip: IP address of the device
 * @param version: Firmware version
 * @param ctrlp: Object of CControlProtocol class
 */
CStatusSender::CStatusSender(const char* ip, const char* version,
        CControlProtocol* ctrlp)
{

这是第二个的开始(其中 CONTROL_PROTO_MCAST 为 1)。在这种情况下,创建的 pdf 显示了#else 之后的声明,但它没有意义,因为 CONTROL_PROTO_MCAST 是 1 更重要的是,在我的编辑器中,#else 部分是灰色的(意思是不使用该部分):

 #if CONTROL_PROTO_MCAST
/**
 * @brief This function implements the constructor of CControlProtocol class.
 * @param element_type: New value for @link m_ElementType element type @endlink 
 * @param LocalIP: New value for @link m_LocalIP local IP @endlink
 * @param rx_port: New value for @link m_RXSocket RX socket @endlink
 * @param tx_port: New value for @link m_TXSocket TX socket @endlink
 * @param rx_mcast_addr: New value for @link m_RxMcastAddr RX multicast address @endlink
 * @param tx_mcast_addrs: New value for @link m_TxMcastAddrs TX multicast address @endlink
 * @param maxLocals: New value for @link m_MaxLocalAddressNum local IP address limit @endlink
 * @param MqxThreadId: New value for Mqx thread id
 */
CControlProtocol::CControlProtocol(EElementType element_type, uint_32 LocalIP, uint_16 rx_port,
        uint_16 tx_port, uint_32 rx_mcast_addr, const std::map<EElementType, uint32_t>& tx_mcast_addrs, int maxLocals, int MqxThreadId)
#else
CControlProtocol::CControlProtocol(EElementType element_type, uint_32 LocalIP,
        uint_16 rx_port, uint_16 tx_port, uint_32 broadcast_addr, int maxLocals,
        int MqxThreadId) 
#endif
: CThreaded(MqxThreadId) {
    /**
     * @b Algorithm
     * 
     * l. Update @link m_LastTXSQ last TX SQ @endlink 
     * 2. Initialize @link m_LastRXSQTable last RX sequence table @endlink with size @link MAX_EMITTERS @endlink
     * 3. For each element of @link m_LastRXSQTable last RX sequence table @endlink do
     *     1. Element IP is 0
     *     2. Element sequence is 0
     * 4. Set @link m_LocalIP local IP @endlink parameter's value
     * 5. Set @link m_Port port @endlink parameter's value
     * 6. Set @link m_ElementType element type @endlink parameter's value
     * 7. Set @link m_bFilterRemote filter remote flag @endlink to false
     * 8. Set @link m_MaxLocalAddressNum limit local address number @endlink parameter's value
     * 9. Initialize @link m_LocalAddrs local addresses @endlink of size @link m_MaxLocalAddressNum limit local address number @endlink 
     * 10. Get @link m_RXSocket RX socket @endlink
     * 11. Get @link m_TXSocket TX socket @endlink
     * 12. CONTROL_PROTO_MCAST
     *  -# True
     *      1. Set @link m_RxMcastAddr RX multicast address @endlink parameter's value
     *      2. @link m_RxMcastAddr multicast address @endlink is a valid multicast address
     *          -# Join multicast group
     *  -# Else
     *      1. Set @link m_BroadcastAddr broadcast address @endlink parameter´s value
     * 13. Set @link m_TxMcastAddr TX multicast address @endlink parameter's value
     * 14. Initialize @link m_TXBuf TX buffer @endlink
     * 15. Initialize @link m_RXBuf RX buffer @endlink 

最佳答案

也许这是一个错字,但是,您使用 /* 而不是 /** 开始构造函数的文档。所以它被解析为一个简单的 评论,而不是 评论。

我猜应该是第二个没有出现文档的构造器同样的错误

如果打错了,请告诉我,我会删除这个答案。

关于c++ - 将 doxygen 转换为 latex 为 pdf 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59174939/

相关文章:

C#/vb.net 类型不匹配通过反射查找构造函数(Integer() vs System.Int32[])

c++ - 嵌套初始化列表的构造函数

latex - 如何在 Doxygen 注释中直接包含 LaTeX 片段?

c - 如何从doxygen生成pdf文档

c - doxygen --- 将 .c 和 .h doc 合并为相同的文件?

c++ - C++ 的默认赋值操作行为是什么?

c++ - 在 Windows 桌面上使用 C++ 检索设备型号名称

c++ - 将指向原始对象的指针初始化为临时对象

c++ - 使用 wxwidget 在 while 循环下移动多个文件

c++ - 为什么我们使用 char* 作为缓冲区,为什么不使用 boost::asio 中的字符串?