c/c++语言开发共享C中Doxygen中的函数指针处理

在我的代码中,vtable包含几个函数指针。 Doxygen无法跟随它们。

我想强制它识别可能的路径,以生成一个完整的调用图,因为现在缺少这部分。

例:

typedef Bool(*SPECIAL_FUNC)(KEY key); typedef struct{ int a; int b; SPECIAL_FUNC; }OBJ; Bool add(KEY key); //code... Bool sub(KEY key); //code... 

    虽然这可能不会影响doxygen中的调用图,但您可以将函数记录为与结构相关的文档,并在SPECIAL_FUNC的文档中提供指向它们的链接。 就像是:

     typedef Bool(*SPECIAL_FUNC)(KEY key); /** * struct description */ typedef struct{ int a; int b; /** * Function pointer to one of the following: * - add() * - sub() */ SPECIAL_FUNC; }OBJ; /** * @relates OBJ * add function. */ Bool add(KEY key); //code... /** * @relates OBJ * sub function. */ Bool sub(KEY key); //code... 

    这样, OBJ将被记录为类, addsub将显示为OBJ相关成员, OBJ的文档将包含addsub链接。

    我不认为你能做到这一点,但是伪造这个的一种方法可能是为此特别定义并且只为Doxygen设置它(使用PREDEFINED)。

    例如

     #ifdef MY_DOXYGEN_FAKE KEY key; add(key); sub(key); #endif 

    在使用该函数指针的函数中。 当然,这是更多的工作,因为你必须确保只添加对你真正使用该函数的函数的调用。 但是你应该知道在任何情况下如何使用该函数指针。

      以上就是c/c++开发分享C中Doxygen中的函数指针处理相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/550083.html

      (0)
      上一篇 2021年1月14日
      下一篇 2021年1月14日

      精彩推荐