【问题标题】:How to get Doxygen to parse Function pointer typedefs containing __cdecl?如何让 Doxygen 解析包含 __cdecl 的函数指针 typedef?
【发布时间】:2011-03-17 22:38:36
【问题描述】:

在需要使用 __cdecl 的地方使用 MS C 或 GNU C 时,函数指针原型如下所示:

  • typedef int (__cdecl *funcname_ptr)(void* arg1, const char* arg2);
  • typedef int(__attribute__((cdecl)) *funcname_ptr)(void* arg1, const char* arg2);

似乎 *funcname_ptr 之前的文本导致 doxygen 的解析器失败。

如果您遇到此问题,您是否找到了解决方法?

【问题讨论】:

    标签: function-pointers typedef doxygen


    【解决方案1】:

    我还没有遇到过这个问题,但一种解决方法可能是将 __cdecl 预定义为一个宏,使用 PREDEFINED 选项在 doxygen 配置文件中评估为空。

    【讨论】:

    • 感谢您的建议。不幸的是,它不会改变 Doxygen 的输出。
    • 事实证明你是对的,但我的尝试并没有完全正确。我误解了 Doxygen 文档并错误地认为我只需要将 EXPAND_ONLY_PREDEF 设置为 YES。事实证明,您还必须将 MACRO_EXPANSION 设置为 YES。所以,完整的解决方案是:1) Set MACRO_EXPANSION = YES, 2) Set EXPAND_ONLY_PREDEF = YES, 3) Set PREDEFINED = __cdecl= __attribute__((cdecl))= AnythingElseYouWantToDisappear=
    猜你喜欢
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多