Doxygen无法链接源文件和头文件之间的数组和指针表示法

时间:2013-11-18 21:10:35

标签: doxygen

我通常在头文件中声明我的函数,如下所示:

extern int Finalize( int* /*handle*/, uint8_t* /*tag*/, uint16_t /*taglen*/ );

但是,当在源文件中定义函数时,如下所示:

int Finalize( int* handle, uint8_t tag[TAG_SIZE], uint16_t taglen )

Doxygen不会链接这两个函数,因此头文件中的文档不会从源文件中导入信息。是否有任何设置可以正确地链接这两个功能?

ETA:我认为这不是一个难以理解的问题,但还好。如果您有两个这样的文件:

main.c中:

#include "main.h"

/** Finalize something somehow. */
int Finalize( int* handle, uint8_t tag[TAG_SIZE], uint16_t taglen )
{
}

和main.h:

extern int Finalize( int* /*handle*/, uint8_t* /*tag*/, uint16_t /*taglen*/ );

main.c的输出是你所期望的,但main.h的输出是:

  <table class="memname">
    <tr>
      <td class="memname"><a class="el" href="globals_8h.html#a2c3e4bb40f36b262a5214e2da2bca9c5">Error</a> Finalize </td>
      <td>(</td>
      <td class="paramtype">int *&#160;</td>
      <td class="paramname">, </td>
    </tr>
    <tr>
      <td class="paramkey"></td>
      <td></td>
      <td class="paramtype">uint8_t *&#160;</td>
      <td class="paramname">, </td>
    </tr>
    <tr>
      <td class="paramkey"></td>
      <td></td>
      <td class="paramtype">uint16_t&#160;</td>
      <td class="paramname">&#160;</td>
    </tr>
    <tr>
      <td></td>
      <td>)</td>
      <td></td><td></td>
    </tr>
  </table>

这显然是因为doxygen没有看到.c文件中的中间参数的数组符号与.h文件中的指针相同。

0 个答案:

没有答案