如何使用 Doxygen 和 Doxygen::Filter::Perl 生成 Perl 子例程的文档?

2024-01-27

我正在尝试弄清楚如何使用Doxygen::Filter::Perl https://metacpan.org/pod/Doxygen::Filter::Perl生成 Perl 文件的文档。我从一个非常简单的文件开始只是为了看看我是否可以让它工作(test_doxygen.pl):

#! /usr/bin/env perl
#** @file test_doxygen.pl
#  @brief  Testing Doxygen using Doxygen::Filter::Perl
#
# Description of the purpose of this file
#
#  @author Håkon Hægland ([email protected] /cdn-cgi/l/email-protection)
#
#  @bug No known bugs.
#
#*

#** @class main
# The main class
#*

use strict;
use warnings;

my $b = add_one(1);

#** @function public add_one ($par1)
# @brief A brief description of the function
#
# A detailed description of the function
# @params $par1   required  A number
# @retval value   Input value plus one1
#*
sub add_one {
    my ($par1) = @_;

    return $par1 + 1;
}

然后我安装了 Doxygen::Filter::Perl 并使用Doxyfile由包维护者在metacpan.org 提供的配置文件(链接在这里 https://metacpan.org/source/JORDAN/Doxygen-Filter-Perl-1.62/Doxyfile) 并将其放在与上面脚本相同的目录中。我改变了一行Doxyfile: 的值INPUT标签已更改为lib到空字符串,以便仅搜索当前目录中的源文件。

我使用的是 Ubuntu 14.04,所以我安装了 Doxygensudo apt-get install doxygen,(我还需要安装graphviz: sudo apt-get install graphviz)然后我终于跑了

$ doxygen

从终端窗口。生成的 HTML 文件doc/html/index.html包含有关该文件和作者的文档,但不包含有关该文件的任何文档add_one子程序。

我在这里缺少什么?

Update

下面是类视图在 Chromium 浏览器中的样子:

如所见,没有参考/链接add_one子程序。

这是文件视图:


所以问题在于处理“我的”变量声明。它将值设置为私有:并且 doxygen 永远不会返回。我在 Perl.pm 中添加了一行来解决这个问题,现在它应该可以为您工作了。由于您使用的是 pl 文件而不是 pm 文件,因此我还对 Doxyfile 进行了更改,因此您需要从发行版中获取新文件。我已将 1.71 发布到 Github 和 CPAN,并用您的确切示例对其进行了测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Doxygen 和 Doxygen::Filter::Perl 生成 Perl 子例程的文档? 的相关文章

  • Perl 中函数调用和 goto &NAME 有什么区别?

    我正在读 Perl 这很有趣 但读书时从这里转到 https www tutorialspoint com perl perl goto statement htm在 Perl 中我有一个疑问 我知道 goto 语句有三种类型 转到标签 转
  • 我可以在 Perl 中访问动态指定类中的静态方法吗?

    是否可以在 Perl 中动态指定一个类并访问该类中的静态方法 这不起作用 但说明了我想做的事情 use Test Class1 my class Test Class1 class static method 我知道我可以这样做 class
  • 在 perl 中 \*STDIN 与 STDIN 相同吗?

    我是作者Python化者 https github com snoopyjc pythonizer我正在尝试将 CGI pm 的代码从标准 perl 库翻译为 Python 我在中遇到了这段代码从客户端读取 https metacpan o
  • 在哪里可以找到将现有 CPAN 模块转换为使用 Dist::Zilla 的简明指南?

    我曾多次阅读过相关文档和一些博客文章地区 齐拉 http search cpan org dist Dist Zilla 我从来没有对自己的理解充满信心 在回答另一个问题时 Ether 提出了转换的可能性地穴 SSLeay http sea
  • 在 doxygen 中使用 @see 或 @link

    我之前用 Javadoc 记录并使用了标签 see link or see foo and link foo 在我的描述中链接到其他课程 现在我尝试了doxygen 似乎这些标签不兼容 如果我运行 doxygen 完整的标签将被简单地解释为
  • Perl:管理 Windows 上的路径编码

    我正在努力处理包含非英文字符的路径 Activestate Perl Windows XP 如何打开 写入 复制等位于包含希腊语 俄语 法语重音字符的路径中的文件 假设我要将 text txt 文件复制到的目录是 C Documents a
  • 使用perl创建层次结构文件

    我的任务是使用 perl 创建父子层次结构文件 示例输入文件 制表符分隔 记录将以随机顺序排列在文件中 父项 可能出现在 子项 之后 S5 S3 S5 S8 ROOT S1 S1 S7 S2 S5 S3 S4 S1 S2 S4 77 S2
  • 如何加速我的 Perl 程序?

    这确实是两个问题 但它们非常相似 为了简单起见 我想我应该把它们放在一起 Firstly 给定一个已建立的 Perl 项目 除了简单的代码优化之外 还有哪些不错的方法可以加速它 Secondly 用Perl从头开始编写程序时 有哪些好的方法
  • Perl 正则表达式匹配模式的多个实例并替换

    我有一个看起来像这样的字符串 abc 1 2 3 something here foo 10 6 34 somethingelse here def 1 2 another 我想将此字符串拆分为一个数组 其中包含 abc 1 2 3 som
  • 在 Perl 中解析 RSS/Atom 的最佳库是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我注意到XML RSS 解析器 http search cpan org dist XML RSS P
  • 在 Perl 中,如何制作数组的深层复制? [复制]

    这个问题在这里已经有答案了 可能的重复 在 Perl 中制作数据结构深层复制的最佳方法是什么 https stackoverflow com questions 388187 whats the best way to make a dee
  • Perl 中的线程定时循环

    本质上 我希望有一个高优先级线程 它以给定的时间间隔 此处为 0 5 毫秒 运行并中断 一切 执行一个短任务 然后返回 睡眠 状态 使用 Ubuntu 11 04 和 perl v5 10 1 问题是 虽然我得到了某种结果 但我不确定是否有
  • 我可以在 VIM 或 Perl 中替换单个正则表达式中的多个项目吗?

    假设我有字符串 The Quick Brown Fox Jumps Over the Lazy Dog 我可以用一个正则表达式将其更改为 The Slow Brown Fox Jumps Over the Energy Dog 吗 目前 我
  • “foreach”循环中会发生什么样的本地化?

    来自 perldocperlsyn http perldoc perl org perlsyn html Foreach Loops关于 Foreach 循环的主题 如果变量之前是 用 my 声明 它使用 变量而不是全局变量 但它仍然局限于
  • 零垫重命名,例如图片 (2).jpg -> 图片 (002).jpg

    我需要按照标题在所有子文件夹中解释的方式重命名所有图像 我正在考虑用正则表达式提取括号内的数字 然后重命名它 搜索周围我看到有类似的工具rename and mmv但我无法让他们重新命名 jpg 我将不胜感激任何解决我的问题的建议 顺便说一
  • 为什么不鼓励在 Windows 上将 PPM perl 模块与 Strawberry perl 一起使用?

    任何人都可以解释为什么人们会发表此评论吗 我在 stackoverflow 上看到了几个线程 像这个 https stackoverflow com questions 6643939 installing modules using st
  • 如何将 cpanminus 与本地 CPAN::Mini 一起使用?

    我已经创建了自己的 CPAN 本地副本minicpan http search cpan org rjbs CPAN Mini 1 111007 bin minicpan并设法重新配置 cpan 来使用它 太棒了 但是我将如何使用它cpan
  • Mason 方法范围 - 覆盖

    Using Mason2 https metacpan org pod Mason 有 3 个组件 Base mc tmp Base mc tmp index mc The tmp index mc内容 hello from the Som
  • 从 shell 脚本调用 Perl,如何将返回值从 Perl 传递到 shell?

    我成功地从 shell 脚本调用 Perl 脚本 现在我想将 Perl 脚本的返回值传递给 shell 脚本 指示它是否成功 我该怎么做呢 只需使用适当的退出值退出 Perl 脚本即可 exit exit value exit 0 if p
  • 从 Perl 线程生成 Expect

    我正在编写一个脚本 该脚本需要定期 每 5 分钟 生成一个 Expect 进程来完成一些工作 下面是我的代码 它生成一个 Expect 进程并执行一些工作 脚本的主要进程始终在做一些其他工作 例如它可能等待用户输入 因为我在一个线程中调用这

随机推荐

  • 使用队列的生产者/消费者线程

    我想创建某种Producer Consumer线程应用程序 但我不确定在两者之间实现队列的最佳方法是什么 所以我有两个想法 这两个想法都可能是完全错误的 我想知道哪个更好 如果它们都很糟糕那么实现队列的最佳方法是什么 我关心的主要是这些示例
  • 如何让 Microsoft C++ 编译器将未知标志视为错误而不是警告?

    出于各种原因 我希望能够编写脚本来检测 MS C 编译器是否支持特定标志 我正在使用 Windows 7 1 SDK 中的编译器 C gt cl version Microsoft R C C Optimizing Compiler Ver
  • JavaScript 中的跨域数据访问

    我们有一个 ASP Net 应用程序托管在我们的网络上并暴露给特定的客户端 该客户希望能够将数据从他们自己的服务器导入到我们的应用程序中 数据通过 HTTP 请求检索 并采用 CSV 格式 问题是他们不想将他们的服务器暴露给我们的网络 并请
  • 在 JavaFX 中调整选项卡内容的大小

    老实说 我对 JavaFX 以及 Java 中的任何 UI 开发都是完全陌生的 我正在使用 fxml 来定义我的屏幕布局 我想要一个使用选项卡的应用程序 第一个选项卡的内部布局与 IssueTracker 示例应用程序非常相似 我创建了下面
  • 递归函数依赖不起作用

    我正在尝试乘以单位数组 来自dimensional 在幻像类型中 我在功能依赖性方面遇到了麻烦 问题的简化版本如下 我有以下类型 data F a F String 其中字符串表示外语表达式 幻像类型表示类型列表 我可以做类似的事情 x F
  • 其他程序可以读取我的 NSUserDefaults 设置吗?

    在iPhone上 不包括越狱手机 其他应用程序可以读取您使用设置的值吗NSUserDefaults 我正在考虑为我们的服务保存客户的用户名 密码 并希望确保其安全 不可以 其他应用程序无法看到您的数据 也就是说 您可能应该考虑使用keych
  • 多线程 JDBC

    从架构上来说 处理 JDBC 多线程的最佳方法是什么 我有许多线程同时访问数据库 通过单个连接和语句 我收到以下错误消息 org postgresql util PSQLException 此结果集已关闭 我应该使用多个连接 多个语句还是有
  • 重新采样 Pandas 数据框并合并列中的字符串

    我想重新采样 pandas 数据框并将不同的函数应用于不同的列 问题是我无法正确处理带有字符串的列 我想应用一个将字符串与分隔符 例如 合并的函数 这是一个数据示例 import pandas as pd import numpy as n
  • 正确关闭 libUV 句柄

    我正在尝试找出如何修复使用 Valgrind 运行此程序时遇到的这些内存泄漏 泄漏发生在两个分配中nShell client main 但我不是 确定如何正确释放它们 我尝试在 nShell Connect 处释放它们 但它导致 libUV
  • 有没有办法逐句而不是逐行比较文件?

    只是想让 diff 更好地处理某些类型的文档 例如 使用 LaTeX 我可能有一个很长的段落 严格来说只有一行 但如果只更改一个句子 我不想看到整个段落 特别是如果我正在运行某种版本控制并且合著者与我编辑同一段落 但不是同一句子 我不希望这
  • 是否可以删除通过 Google Photos API 创建的照片或相册?

    即使程序具有完全访问权限 似乎也没有任何方法可以删除创建的照片或相册 删除支持对于 Photos API 的完善至关重要 缺乏删除功能确实限制了 API 的实用性 能够创建东西却要求用户手动删除它们是没有好处的 我是否忽略了某些事情并且有办
  • 使用 PowerShell 从 Outlook 读取最新电子邮件

    我正在尝试阅读主题行 自动化 的 Outlook 电子邮件 并使用自定义脚本进一步处理 下面的脚本读取主题行的电子邮件 但它读取主题为 自动化 的电子邮件的总数 我希望能够仅阅读最近的电子邮件并仅处理特定的电子邮件内容并将电子邮件标记为未读
  • Django/ python-social-auth:LinkedIn 额外数据在某些字段上返回 null

    我正在使用 python social auth 在 Django 中检索 LinkedIn 个人资料数据 a href Login with LinkedIn a 是使用 LinkedIn 登录的链接 SOCIAL AUTH LINKED
  • 如何更改 Rails 中使用的捆绑程序的版本?

    当我运行以下命令时 它会为我提供可用的捆绑程序安装版本 命令 gem list grep bundle output bundler 1 11 2 1 10 6 1 10 4 1 3 6 1 3 0 1 3 0 pre 我使用以下命令获得的
  • C#中如何查看谁使用了某个端口?

    如何确定哪个进程 哪个可执行文件正在使用我的本地主机的 80 端口 我想知道 例如它是否是 Apache Server 等 我们可以从 ipProperties GetActiveTcpListeners 获取一些信息吗 我只看到了本地端点
  • Android:使用贝塞尔曲线进行数字签名

    I am trying two draw digital signature using Bezier as show in above image when i touch and try to draw line then the re
  • 使用 Djoser 和 Django Rest Framework 激活帐户

    我在我的项目中使用 Djoser 进行身份验证 4天多来一直在努力添加电子邮件激活 但似乎未能很好地抓住它 因为文档对我来说有点难以理解 这是我的代码设置 py change auth model to custom model AUTH
  • 简单的多层神经网络实现[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 不久前 我开始了机器学习的冒险 在我学习的最后两年期间 我读了很多书 写了很多机器学习算法的代码 除了神经网络 这超出了我的范围 我对这个
  • HQL 与 SQL/Hibernate netbeans HQL 编辑器

    我正在自学休眠 并且很困惑为什么我不能只编写简单的 SQL 查询 我发现它比普通 SQL 我习惯的 使用起来更混乱 另外 我发现 NetBeans HQL 编辑器非常烦人 对我来说 在 HQL 中生成正确的查询比较困难 然后在 SQL 中生
  • 如何使用 Doxygen 和 Doxygen::Filter::Perl 生成 Perl 子例程的文档?

    我正在尝试弄清楚如何使用Doxygen Filter Perl https metacpan org pod Doxygen Filter Perl生成 Perl 文件的文档 我从一个非常简单的文件开始只是为了看看我是否可以让它工作 tes