是否可以在doxygen评论块中包含doxygen会忽略的内容?顺便说一句,我们可以在doxygen注释块中发表评论吗?
背景:
我们将Fortran项目的代码内注释转换为doxygen-parseable格式,但是项目要求代码内注释中的内容由水平线描述.例如:
!> @brief Lorem ipsum dolor sit amet
!! ---------------------------------------------------------------------
!!
!! @param[in] p1 Description of p1
!! @param[in] p2 Description of p2
!! ---------------------------------------------------------------------
!!
!! More content here ....
!! ---------------------------------------------------------------------
!!
!! More content for another section
!! ---------------------------------------------------------------------
subroutine do_something(p1, p2)
! .... the code ...
end subroutine do_something
Run Code Online (Sandbox Code Playgroud)
是否有命令/语法我可以在这些行的前面加上,以便doxygen会忽略它们?希望是一个不引人注目且不影响评论可读性的文章.
我知道INPUT_FILTER可以用来在预处理脚本中链接的设置,但理想的解决方案是不依赖于其他脚本/工具的解决方案.
PS我很清楚很多人会认为这些水平线不必要和/或分散注意力.但是,这是由付款人颁布的要求,并不是我可以自由改变的.
我需要以html格式获取mySQL数据库模式输出,因此我开始使用SchemaSpyGUI进行此操作.
现在,当我点击Start SchemaSpy时,它会生成以下错误:
无法查询Graphviz版本信息:dot -V java.io.IOException:无法运行程序"dot":CreateProcess error = 2,系统找不到指定的文件
使用数据库属性:[D:\ Saurin\mySQL\schemaSpy_5.0.0.jar] /net/sourceforge/schemaspy/dbTypes/mysql.properties
-
无法连接到数据库URL [jdbc:mysql://192.168.1.11/dbmsTest]
注意:我从以下网址下载了graphwiz:http://www.graphviz.org/Download..php
并在enviornment变量中设置点;
Fortran中抑制警告消息的最佳实践是什么,例如:
remark #7712: This variable has not been used.
Run Code Online (Sandbox Code Playgroud)
仅用于一个特定变量(API中我们不想破坏的想象函数)?
注2:gcc的相似之处:__attribute__((__unused__))或MACRO的其他常见C惯例
注意3:我对ifort尤其感兴趣,但是多编译器会更好。
我是开发 SDK 的团队的一员,该 SDK 使用多种编程语言公开 - 目前是 ObjC、C#、ActionScript、Java (Android),稍后我们将拥有更多语言。
我们希望文档由两部分组成:
这两部分之间存在链接:从人类可读的文档中,我们可以链接到特定的类或方法,从 API 参考中,我们可以链接到解释使用该类或方法的上下文的文档。
我们目前使用 sphinx 的组合来提供人类可读的文档和用于 API 的语言特定工具,例如doxygen或asdoc
我在LeapMotion中看到,他们能够为多种编程语言(非人类语言)生成完整的文档,并具有编程语言之间的交叉链接。
问题
有人知道如何实现这样的文档系统,我们不必将人类可读文档中的每个更改复制到每种语言并且在语言之间建立交叉链接吗?
我似乎明白 TLD 后面的点无关紧要,例如:http : //example.com/somepage/ == http://example.com./somepage/(注意 TLD 后面的点)
我的问题是:情况总是这样吗?或者它是 DNS 还是任何依赖?换句话说,无论设置和域如何,域后面的额外点对每个人都有效吗?(example.com., localhost., mycomputer.lan., 127.0.0.1., 等等...)
额外的问题:为什么允许额外的点?
谢谢
为什么我使用 split 会丢失精度?我的目标是只得到小数部分,全部。
$a = 123456789.123456789;
@b = split(/\./, $a);
$baseDec = "." . $b[1];
Run Code Online (Sandbox Code Playgroud)
上面给出了 $baseDec == .123457
但这给出了正确的精度:这是正确的方法吗? 更正:这给出了同样糟糕的精度!我没有正确测试代码。对不起!
$a = 123456789.123456789;
@b = split(/\./, $a);
$baseInt = $b[0];
$baseDec = $a - $baseInt;
Run Code Online (Sandbox Code Playgroud)
我应该使用 Math::BigFloat 吗?
编辑: $a 应该是一个字符串$a = "123456789.123456789";,然后原始代码有效。在我弄清楚如何让我的 Perl 与 longdouble 一起工作之前,我无法测试原始问题。答案似乎是我失去了精度,因为 $a 以双精度形式存储(52 位 ~ 15 位十进制数字,如下面@Ben 所述)。print $a给123456789.123457.
是否可以对 API 的各个部分进行分组?例如相关的函数、类型或常量。
例如,Doxygen 支持这样的分组:
/** \name Some API Grouping
* \{ */
// code //
/* \} */
Run Code Online (Sandbox Code Playgroud)
rustdoc 可以做类似的事情吗?
我正在尝试使用Doxygen为C中的模拟模板生成文档而没有太大成功.我希望有人知道如何在doxygen预处理器中使宏技巧工作?我已经尝试过启用"MACRO_EXPANSION"而没有运气.
编辑:这个问题最变性的形式是:"我怎样才能使Doxygen以与C预处理器类似的方式处理预处理器指令#include?"
我在"test"文件夹中有以下代码(一个非常人为的例子):
templates.h
#ifndef TEMPLATES_H_
#define TEMPLATES_H_
#define CAT(X,Y) X##_##Y
#define TEMPLATE(X,Y) CAT(X,Y)
#endif // TEMPLATES_H_
Run Code Online (Sandbox Code Playgroud)
test.h
#ifndef TEST_H_
#define TEST_H_
#include "templates.h"
#ifdef TEST_T
#error "TEST_T cannot be defined prior to this compilation step"
#endif
#define TEST_T uint8_t
#include "test_template.h"
#undef TEST_T
#define TEST_T uint16_t
#include "test_template.h"
#undef TEST_T
#endif // TEST_H_
Run Code Online (Sandbox Code Playgroud)
test_template.h
#ifdef TEST_T
#include "templates.h"
TEST_T TEMPLATE(sum,TEST_T)(TEST_T a, TEST_T b);
#endif // ifdef TEST_T
Run Code Online (Sandbox Code Playgroud)
test.c的
#include "test.h"
#ifdef TEST_T
#error "TEST_T cannot be defined prior to …Run Code Online (Sandbox Code Playgroud) 我在C / C ++代码中使用长块C风格的Doxygen注释。这是http://www.doxygen.nl/manual/docblocks.html上列出的#4样式,看起来像这样(用完80个字符)...
/**************************************************************************//**
* \file
* \date 2017-01-02
* \author Alex Hogen
******************************************************************************/
Run Code Online (Sandbox Code Playgroud)
如果我对此运行clang-format,它将在两个正斜杠之间插入一个空格,因此看起来像是愚蠢的……。
/**************************************************************************/ /**
* \file
* \date 2017-01-02
* \author Alex Hogen
******************************************************************************/
Run Code Online (Sandbox Code Playgroud)
SpacesBeforeTrailingComments设置为2,所以那不是问题。CommentPragmas正则表达式\/\*+\/\/\*+。CommentPragmas正则表达式/\*(.+\n.+)+\*/ReflowComments为false...但是这些都不起作用。
我知道在此块中有两个注释,但是在同一行上找不到任何clang-format参数寻址块注释。如何停止clang格式插入此空间?
我不想通过为每个Doxygen注释块禁用clang格式来解决此问题。这似乎很荒谬。
有什么好的建议吗?:-)
在尝试使 doxygen 工作时解决了一些初始问题后,我在遵循doxygen 安装教程时偶然发现了下一个错误。
到目前为止什么工作:(
git clone https://github.com/doxygen/doxygen.git
cd doxygen
mkdir build
cd build
sudo apt-get install flex它丢失了所以我之前必须安装它cmake)
sudo apt-get install bison(它丢失了所以我之前必须安装它cmake)
cmake -G "Unix Makefiles" ..
make
但是后来make install我收到以下错误:
test@test-VirtualBox:~/doxygen/build$ make install
[ 1%] Built target md5
[ 19%] Built target qtools
[ 24%] Built target vhdlparser
[ 92%] Built target _doxygen
[ 98%] Built target doxycfg
[100%] Built target doxygen
Install the project...
-- Install configuration: …Run Code Online (Sandbox Code Playgroud)