Doxygen 强氧能';源文件和头文件之间的t链接数组和指针表示法

Doxygen 强氧能';源文件和头文件之间的t链接数组和指针表示法,doxygen,Doxygen,我通常在头文件中声明我的函数,如下所示: extern int Finalize( int* /*handle*/, uint8_t* /*tag*/, uint16_t /*taglen*/ ); int Finalize( int* handle, uint8_t tag[TAG_SIZE], uint16_t taglen ) 但是,在源文件中定义函数时,如下所示: extern int Finalize( int* /*handle*/, uint8_t* /*tag*/, uint

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

extern int Finalize( int* /*handle*/, uint8_t* /*tag*/, uint16_t /*taglen*/ );
int Finalize( int* handle, uint8_t tag[TAG_SIZE], uint16_t taglen )
但是,在源文件中定义函数时,如下所示:

extern int Finalize( int* /*handle*/, uint8_t* /*tag*/, uint16_t /*taglen*/ );
int Finalize( int* handle, uint8_t tag[TAG_SIZE], uint16_t taglen )
Doxygen不链接这两个函数,因此头文件中的文档不会从源文件导入信息。是否有任何设置可以让它正确链接这两个功能

埃塔:我不认为这是一个很难理解的问题,但没关系。如果您有两个这样的文件:

extern int Finalize( int* /*handle*/, uint8_t* /*tag*/, uint16_t /*taglen*/ );
int Finalize( int* handle, uint8_t tag[TAG_SIZE], uint16_t taglen )
主要条款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>

定稿
(
int* ;
, 
uint8和160;
, 
uint16 ;
 
)

这显然是因为doxygen没有将.c文件中中间参数的数组表示法视为与.h文件中的指针相同。

由于该代码目前没有doxygen注释,即没有以
/**
开头的内容。您希望看到什么/您能给我们提供更多的上下文吗?(编辑后)我仍然没有看到任何参数的doxygening,因此我不太惊讶doxygen可能会混淆。请听我说一会儿,然后用
int*handle/**
等声明函数,看看这是否有区别。另外,您使用的是哪个版本的强氧?这没有什么区别。我在Windows上使用的是1.8.1.2版。