Doxygen在我们的代码库上运行大约需要12个小时.这主要是因为要处理的代码很多(~1.5M行).但是,它很快就会达到我们无法进行夜间文档更新的程度,因为它们需要太长时间.我们已经不得不减少图表深度,使其降至12小时.
我已经尝试过标准方法,但我确实需要高质量的输出,这包括图形和SEARCH_INCLUDES.我有一个相当不错的机器来运行Doxygen,但Doxygen没有利用它的许多核心.(它与构建服务器上的单个CPU挂钩,但只占可用系统的4%.)具有多线程Dot构建非常方便,但这只是构建时间的一半左右.
是否有任何技术可用于通过多个进程运行doxygen并手动分割任务?我已经看过一些关于创建标记文件的讨论,但我不太了解他们是否知道他们是否按照我的意愿行事.我正在寻找的是:
doxygen Doxyfile-folder1
doxygen Doxyfile-folder2
doxygen Doxyfile-folder3
doxygen Doxyfile-folder4
doxygen-join output/folder1/html output/folder2/html output/folder3/html output/folder4/html
Run Code Online (Sandbox Code Playgroud)
当然,我只是制作东西,但这是我想要的东西的想法.此外,我使用了超过4个进程.
我知道Doxygen要生成文档.我正在寻找的是在Xcode中插入文档的快速方法,类似于Eclipse在编辑Java文件时所做的操作.
假设我有一个带有几个这样的参数的objective-c方法:
-(NSInteger*) sumOf: (NSInteger*) one and:(NSInteger*) two {...
Run Code Online (Sandbox Code Playgroud)
在Eclipse中,如果将光标放在方法上方并键入:/**<Enter>
您将获得一个预先填充了@param
和@return
标记的Javadoc模板.
是否有可能在Xcode中实现类似的功能?输入后/**<Enter>
,我想自动获取:
/**
*
* @param one
* @param two
*
* @return
*/
-(NSInteger*) sumOf: (NSInteger*) one and:(NSInteger*) two {...
Run Code Online (Sandbox Code Playgroud) 我正在使用Doxygen来记录用Objective-C编写的API.
Doyxygen无法理解NS_ENUM typedef.
我找到了这个解决方案,但它对我不起作用.
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = NS_ENUM(x,y)=y
Regards,
Dimitri
Run Code Online (Sandbox Code Playgroud)
这是我的输入文件:
/**
* Represent the possible states.
*/
typedef NS_ENUM(NSInteger, ABEnumType)
{
/**
* State A.
*/
StateA = 0,
/**
* State B.
*/
StateB
};
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出:
Preprocessing /src/ABEnumType.h...
error: /src/ABEnumType.h:17:17: error: C++ requires a type specifier for all declarations [clang]
error: /src/ABEnumType.h:17:28: error: unknown type name 'ABEnumType' [clang]
error: /src/ABEnumType.h:18:1: error: function definition is not allowed here [clang]
error: /src/ABEnumType.h:17:9: …
Run Code Online (Sandbox Code Playgroud)