如何在DoxyGen内联代码中转义特殊命令

时间:2014-05-02 14:08:21

标签: c++ c doxygen

我想在DoxyGen评论中使用内联代码:

Use `#define` for something..

产生以下警告:

warning: explicit link request to 'define' could not be resolved

如何逃避#符号以省略此警告?

如果我像这样使用反斜杠(\):

Use `\#define` for something..

我仍然得到同样的警告..

2 个答案:

答案 0 :(得分:8)

您可能希望使用doxygen' \c\#特殊命令为下一个字提供代码格式:

Use \c \#define for something..

答案 1 :(得分:5)

我遇到了类似的警告,但情况略有不同。我希望在生成的文档中看到"#include foo"(引用并使用等宽字体)而不是#define

什么不起作用

doxygen支持markdown表明只需在代码中编写`"#include foo"`即可。它没有;在doxygen-flavored markdown和其他doxygen之间存在一些无证的相互作用。 Doxygen尝试将#include作为引用名为include的实体进行处理。写`"\#include foo"`也不起作用。当在降价代码范围内使用时,Doxygen本身不会将反斜杠视为转义为英镑符号。

在doxygen中使用`stuff`时要非常小心。如果stuff很简单,你就可以了,但如果它包含任何特殊的doxygen字符,你最好还是使用别的东西。

什么工作

如果你想看

  • Word #foo more words。
    (即#foo不是等宽字体)。只需在doxygen评论中转义哈希符号:

    /*! 
      Word \#foo more words.
     */
    
  • 单词#foo更多单词。
    (即#foo是等宽字体)。将\c\#结合使用:

    /*! 
      Word \c \#foo more words.
     */
    
  • 单词#foo bar更多单词。
    (即,#foobar一起使用等宽字体,并且不是双引号。将<tt>\#结合使用:

    /*! 
      Word <tt>\#foo bar</tt> more words.
     */
    
  • 单词"#foo bar"更多单词。
    (即,#foobar一起使用等宽字体,以及围绕#foo bar的双引号。使用\c和**不要*反斜杠转义哈希符号:

    /*! 
      Word \c "#foo bar" more words.
     */
    

最后一个很棘手。角色"是doxygen中的特殊角色。 \c命令对字符串"#foo bar"进行操作,并且不插入该字符串。