Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建指向同一文件的Doxygen链接_Doxygen - Fatal编程技术网

如何创建指向同一文件的Doxygen链接

如何创建指向同一文件的Doxygen链接,doxygen,Doxygen,我想写一个Doxygen注释,命名注释所在的文件。我希望Doxygen为我提供文件名,而不是显式地编写文件名。因此,如果我更改了文件名,或者将某些内容移动到另一个文件中,我不需要更改名称的硬编码实例 举个具体的例子,假设我在array.hpp中为函数添加注释,我希望某些函数的注释是“此函数应仅在array.hpp中使用。”我希望能够编写 /** * This function should only be used within @thisfile. */ 其中,@thisfile是一个

我想写一个Doxygen注释,命名注释所在的文件。我希望Doxygen为我提供文件名,而不是显式地编写文件名。因此,如果我更改了文件名,或者将某些内容移动到另一个文件中,我不需要更改名称的硬编码实例

举个具体的例子,假设我在array.hpp中为函数添加注释,我希望某些函数的注释是“此函数应仅在array.hpp中使用。”我希望能够编写

/**
 *  This function should only be used within @thisfile.
 */
其中,
@thisfile
是一个Doxygen表达式,在文件
array.hpp
中转换为
array.hpp

我已经看过了Doxygen文档,包括“自动链接生成/文件链接”和整个“特殊命令”部分,但还没有找到我要找的内容。是否存在这样的功能

请注意,几周前在Doxygen邮件列表上提出了基本相同的问题。它尚未收到任何答复。

概述 据我所知,这种功能并不存在的开箱即用。但您可以通过在
doxy文件中配置来添加它。doxygen将文件路径作为参数传递给过滤器。过滤器可以使用此选项将关键字(例如
@thisfile
)替换为文件路径

下面我给出了一个如何使用
bash
实现此功能的示例。其他shell或窗口的解决方案应该非常类似

bash的示例
  • 写一个简短的
    bash
    脚本
    infilter\u filename.sh

    #!/bin/bash
    pathToScript=`pwd`"/"
    sed -e "s:@thisfile:${1/$pathToScript/}:g" $1
    
    此脚本通过工作目录截断文件的路径。生成的字符串用于替换您选择的关键字(此处:
    @thisfile

  • 使脚本可执行:
    chmod+x infilter\u filename.sh
  • Doxyfile
    中的设置为
    INPUT\u FILTER=./infilter\u filename.sh
  • 就这样!