文件交换
25下载
更新06年4月2011年
查看版本历史记录
修复了一些错误:现在允许以end开头的属性名(和方法名)(如Vincent指出的)现在支持继承包含点的类(如Evgeni Pr指出的)金宝app
增加了以下支金宝app持:* @-folder for classes*多重继承*类属性*私有/保护/公共属性和方法*抽象方法*常量属性*活动*忽略参数(~)
查看许可协议
编者按:这个文件被选为MATLAB中心本周精选
此包允许您使用doxygen从MATLAB,MATLAB .M文件中提取自动注释以生成文档。
该软件包提供:- 用于过滤.M文件的Perl脚本(M2cpp.pl),以便doxygen可以理解它们- 必须根据代码的位置修改的doxyfile文件(doxygen配置文件)的模板——documentationGuidelines。m,一个.m文件,它描述了您应该如何注释您的代码,以便Doxygen可以提取它并创建良好的文档——classDocumentationExample。M:描述类可能注释的.m文件- Doxygen从两个.m文件(参见Doc/html/index.html)自动生成的所有文档(html格式),它提供了关于安装和如何编写Doxygen注释的信息。
安装详细信息:- 您需要安装Doxygen软件(所需版本1.5.9或更新(用版本1.7.1测试))-你需要安装perl (perl是Matlab自带的,通常位于$matlabroot\sys\perl\win32\bin)- 将doxygenmatlab.zip解压缩到c:\ doxygenmatlbab(例如)—从C:\DoxygenMatlbab目录下获取Doxyfile文件,替换默认的Doxygen提供的Doxyfile文件- 编辑doxyfile文件(或使用doxygen提供的doxywizard工具)来修改一些设置:o EXTENSION_MAPPING = m = c++o FILTER_PATTERN = * m = C: \ DoxygenMatlbab \ m2cpp.plo PERL_PATH=o输入= <文档代码所在的目录>o OUTPUT_DIRECTORY=<要生成文档的目录>o strib_form_path = <文档代码所在的目录>
Windows用户注意事项:在某些情况下,.pl文件和perl可执行文件之间的关联没有很好地配置,导致在运行doxygen时“参数必须包含文件名-1在C:\DoxygenMatlab\m2cpp.pl line 4”。要解决这个问题,您应该在Windows命令提示符("cmd")中执行以下行:
”assoc . pl = PerlScriptftype perlscript = c:\ program files \ matlab \ r2010b \ sys \ perl \ win32 \ bin \ perl.exe%1%*(不要忘记将perl.exe文件的路径替换为您在上面一行中的路径)
Fabrice(2021)。使用Doxygen与Matlab(//www.tatmou.com/matlabcentral/fileexchange/25925-using-doxygen-with-matlab),matlab中央文件交换。检索到2021年6月19日.
2021年3月10
嗨,我试图得到你的doxymatlab与ubuntu的完整文档。不幸的是,它不起作用的图形......也许我错过了一些东西。1-我在我的电脑上复制了你的存储库2-我运行convertTounix.sh3-我打开了doxywizard并运行脚本我得到了文档,但没有类层次结构和图。在我的电脑上,我已经为Python程序和图表和依赖性使用了Doxygen。你有推荐信给我吗?致以最亲切的问候
2021年2月2
非常感谢。那是问题。现在它可以正确工作。
2021年1月25日
嗨阿尔弗雷多,你有没有被任何Perl解释器?如果没有,这必须是您的警告的原因。我正在使用ActivePerl,它很好地工作与这个程序。
嗨,我正在尝试使用测试文件使用此包。但是,在编译阶段,我总是找到相同的警告:生成文件源/ classdocumentationexample.m的代码...“perl”不能被识别为内部或外部命令、可执行程序或批处理文件。
输出HTML只报告文件列表,但不报告任何其他数据(代码或注释)。
有人会知道如何帮助我吗?多谢
2019年7月3日
你好,我发现这贡献非常有趣。我试图使用它,但没有成功(W10 OS),甚至从Simone Gaiarin Git存储库开始。实际上我得到了一个文档,但函数描述完全是空的(即使有一个有效的函数标题在开始时与@File)。我也花了很多时间尝试重新参加doxyfile并弄清楚为什么并解决这个问题。有人在这里有一个线索,甚至是一个小的人可以做到这一点吗?谢谢。
2019年1月7日
你好有人与这个脚本成功了吗?我在perl中运行m2cpp.pl,它什么都不执行!我用m2cpp.pl过滤器使用doxygen,但我没有文件!有人帮我吗?
2018年7月27日
你好,我也有麻烦的解决方案的Windows用户(windows7)。有解决办法吗?谢谢,迈克尔
2017年10月24日
运行“dos2unix m2cpp.pl”并将过滤器_patterns调整为filter_patterns = perl your_path / m2cpp.pl似乎为我做了诀窍。但是,生成的文档与用于示例文件的DoxygenMatlab提供的文档不匹配。例如,未列出事件,而不是列出所有属性。如果我找到一个,我会继续工作并发布解决方案。
2017年7月17日
嗨,大家好,
我遇到了一些麻烦,因为文档高亮显示或源文件的链接不能正常工作。在我开始使用M2cpp.pl作为一个输入滤波器之后,并且不是过滤模式,但每个似乎都按预期工作:
# INPUT_FILTER标签可以用来指定一个程序,doxygen应该#调用来过滤每个输入文件。Doxygen会调用过滤程序#通过执行(通过popen())命令 ,其中#是INPUT_FILTER标记的值,是一个#输入文件。然后Doxygen将使用过滤器程序编写的输出#到标准输出。如果指定了FILTER_PATTERNS,则该标记将为#忽略。
INPUT_FILTER = "perl m2cpp.pl"
# FILTER_PATTERNS标签可以用于指定每个文件模式上的过滤器# 基础。doxygen会将文件名与每个模式进行比较并应用#过滤器如果有匹配项。过滤器是表单的列表:# pattern=filter (like *.cpp=my_cpp_filter)。详见INPUT_FILTER#关于过滤器的使用情况。如果filter_patterns为空,则输入_filter#应用于所有文件。
FILTER_PATTERN =
亲切的问候乔纳斯
2017年7月12日
你好!尝试了assoc解决方案,但是“参数必须包含文件名-1”消息仍然存在。如何进行呢?提前致谢,/彼得N.
2016年6月24日
由于这段代码没有更新自2011年以来,我已经更新这段代码到一个github仓库。我希望人们能够在代码和文档方面为它做出贡献。
代码如下:https://github.com/simgunz/doxymatlab.
我将尝试包括下面建议的一些补丁。
2016年6月9日
在OS X上使用此功能需要进行一些修改。1 -修改“/usr/bin/perl.exe”为“/usr/bin/perl”2 - 在m2cpp.pl上运行dos2unix
同样,Guillaume JACQUENOT在2010年11月18日指出,带有连续行(“…\n”)的函数声明不能正常工作。
否则,此脚本一直很有帮助!
2016年4月10日
这是很有用的工作,但是它不适用于名称空间。下面是我的解决方案。
1.在守则之后的M2CPP开头添加
#extract命名空间$namespace = ";Foreach (split /\//, $fname) {if($ _ =〜/ ^ \ + /){$ namespace = $ namespace.substr($ _,1)。'。';}}
2.设置$namespace为$className的前缀
例如:替换$ classdef =“class”。$ classname。“:public $ classihherituce”;通过$ classdef =“class”。$命名空间。$ classname。“:public $ clussinherance”;
可以正确地检测到继承性,并且还可以按名称空间对类列表进行分组。我对结果很满意。
2016年3月24日
伟大的贡献。谢谢! !
2015年10月10日
你好,
我正在为.m文件生成一个doxygen文档.firstly我通过简单地编辑doxygen.conf文件来生成它,我添加file_patterns = .m和extension_mapping = .m = c ++。但它没有产生正确的.m文件的正确文档。现在我追随你的帖子“使用doxygen与matlab,下载”doxygenmatlab“包。我试图了解所有的东西,但无法理解。引导我要做什么?
2015年4月17日
可以在说明和doxyfile中拼写错误。应该是filter_patterns.
否则doxygen忽略了标签
2015年3月30日
很好的文件,使用了很长时间。
但是,现在最终更改为Windows 7我收到错误/警告消息警告:“警告:找到';'在解析初始化程序列表时!(Doxygen可能会被没有分号的宏呼叫混淆)“而且我的.m文件未被解析。有人知道解决方法吗?!(Sonsoles早些时候有同样的问题,但没有发布解决方案;-()
2014年12月12日
这个脚本很棒!
如果还有一个方法可以正确地生成去掉注释的源浏览器,那就太棒了。
我尝试用FILTER_SOURCE_FILES中使用的perl过滤器从源文件中删除注释。但是从文档到代码的超链接是错误的。
有什么建议吗?
2014年3月7日
我意识到该函数中的评论是不可能通过这个过滤器提取,即使是“%>”也无法提取。并且函数输出参数在文档中也没有显示,如果在函数名中使用“…”作为换行符,过滤器就不能正确解析它。
2014年2月27日
酷,谢谢!我终于成功了。一直停留在错误“参数必须包含文件名”
我用这个解来修正它
http://stackoverflow.com/questions/4234581/argv-is-empty-using-activeperl-in-windows-7
Option1不能很好地修复它,但option2可以。
2014年1月26日
试试sphinx的matlabdomainhttps://pypi.python.org/pypi/sphinxcontrib-matlabdomain
2013年11月15日
谢谢你创造了这个法布里斯。我会看看它并提供反馈。
-Adithya
2013年6月18日
你好法布里斯。
我叫埃卡德·克鲁兹。我是两个sourceforge项目背后的开发者:莫里茨:http://sourceforge.net/projects/moritz/Mulanpa:http://sourceforge.net/projects/mulanpa/
两者都是开源的免费软件项目,应该用作DOXYGEN的扩展,以创建算法,以创建描述DASSI Shneiderman或UML活动图所示的图表。
今天在两个项目中。Project Moritz项目的快照http://sourceforge.net/projects/moritz/files/snapshots/2013_05_27/包含在windows发行版Moritz2_WIN32_2013_05_27.zip在文件夹LangPack\pascxal你的过滤器。你会在文件中找到Readme_2013_05_27.txt.
以下段落:
由于这种分布还包含脱氧构型使用版本1.9.08语言Matlab和Pascal是金宝app还支持在关联中添加两个第三方过滤器Langpack文件夹:
Matlab:过滤器:m2cpp.pl作者:法布里斯互联网://www.tatmou.com/matlabcentral/fileexchange/25925-using-doxygen-with-matlab
帕斯卡:过滤器:pas2dox.exe作者:达伦·鲍尔斯互联网:http://sourceforge.net/projects/pas2dox
我希望这对你来说是OK的,但请不要犹豫,如果你对此有一些疑问。你可以在两个项目中找到一个论坛部分。
最好的问候,Eckard克洛茨。
2013年5月23日
谢谢法布里斯给你的文件。现在它在我的matlab工作,但我想知道是否使用此图形选项。我的意思是课堂图和呼叫者图表等。再次感谢
2013年5月21日
我不得不更新m2cpp.pl以用于我的Mac上的线路结尾。在Vim中,我使用了“:设置ff = unix”,这是技巧。
2013年5月16日
你好! !我在我的matlab代码运行Doxygen和问题是,它应该显示一些图形以及。我得到以下错误:C:/users/sonsoles/documents/fortran/kompressorkoden/get_o_over_c.m:23:警告:找到';'在解析初始化程序列表时!(doxygen可能会被没有分号的宏调用混淆)C: /用户/ Sonsoles /文件/ Fortran / Kompressorkoden / get_omega_s。m:21: warning: Found ';' while parsing initializer list!(doxygen可能会被没有分号的宏调用混淆)C: /用户/ Sonsoles /文件/ Fortran / Kompressorkoden / Xfunc。m:21: warning: class for member ' m::::::calculate:' cannot find。谢谢您的帮助
2013年2月21日
我在Windows XP R2011b下。当我运行Doxygen时,对于正在处理的每个m -文件,perl文件m2cpp.pl都会显示在屏幕上。我必须手动关闭文件。此外,您的Perl文件需要更改所有语法,因为过滤器仅从%>以%>开头的行。对于函数描述,相同的问题,我们必须使用特定的语法。
另一个提交的“mtoc++ - Doxygen filter for Matlab and tools”更好,它不需要在我们的代码中做任何改变。
我绝对更喜欢m2html,即插即用。
2013年1月29日
你好法布里斯!
最后 - Poh - 我有M2CPP在Windows 8中运行Matlab 7.0.4!
首先,我遇到了有关程序访问权限的问题,必须以管理员身份运行,还必须在注册表中打补丁,使perl接受命令行参数。
然后m2cpp.pl在第43行崩溃。通过插入修改后"use FileHandle;"第一行替换第43行“开放(我的美元,my_fic美元);“通过"我的$in = new FileHandle;#修复旧版本的Perl(- >打开美元my_fic);"
东西跑好! !
感谢您的提交哈坎Fridenhakan.friden@frideninfotech.eu
2013年1月14日
问题:这是应该为呼叫图工作,喜欢在m2html上吗?
将正确生成*继承*图形。但我没有看到任何函数或类方法的任何呼叫图。
谢谢
2013年1月8日
好的,我刚刚发现,我必须使用\fn关键字与输入名写入完全相同的m2cpp生成。例如,我需要添加一行
%> \ fn my_func_name(在par1中,在par2中)
谢谢m2cpp,一个非常好的工作!
我试图在windows 7下使用doxygenwizard 1.8.2。我相信我已经遵循了所有的指示,但我只得到一个空的index.html页面。有什么问题吗?下面是我的日志
添加自定义扩展映射:.m将被视为语言c++搜索包含文件…搜索示例文件…搜索图片......搜索DOT文件......搜索msc文件…搜索文件以排除搜索文件处理…查找C:/Project/xxx目录下的文件读取和解析标记文件预处理C: /项目/ xxx / xxx1.m……解析文件C: /项目/ xxx / xxx1.m……预处理C: /项目/ xxx / xxx2.m……解析文件C:/project/xxx/xxx2.m ...建筑组列表…建立目录列表…建筑名称空间列表…构建文件列表…建筑课程列表...将文档与类关联…计算类的嵌套关系…构建示例列表…搜索枚举......搜索文档类型…搜索通过using declarations导入的成员…搜索包括使用指令…搜索有文档记录的变量…建筑成员列表......寻找朋友……搜索文件定义......计算类继承关系…计算类使用关系…刷新缓存的模板关系已成为无效......创建模板实例的成员......计算类关系……添加枚举值到枚举…搜索成员函数文档…建立页面列表...搜索主页…计算页面关系……确定群体的范围......排序列表…释放入口树确定记录了哪些枚举计算成员关系……递归构建全会员列表......将成员添加到成员组。计算成员参考资料......继承文档…生成磁盘名称......添加源引用…添加xrefitems……分拣成员列表......计算目录之间的依赖关系......生成引文页面......计数数据结构......解析用户定义的引用…在文档中找到锚和节…结合使用关系……向索引页添加成员…生成样式表……生成示例文档......生成文件源......生成文件文档…生成页面文档…生成组文档…生成类文档…生成名称空间索引…生成图表信息页面......生成目录文档…生成索引页……生成页面索引...索引生成模块……生成名称空间索引…生成命名空间成员索引...生成带注释的复合索引…生成按字母顺序化合物指数......生成分层类索引...生成指数成员……生成文件索引...生成文件成员索引…生成示例指数……确定索引列表…使用符号缓存使用16/65536 HITS = 192次misses = 16查找缓存使用0/65536命中=0错过=0完成了……当启用GENERATE_HTMLHELP时,搜索引擎(SEARCHENGINE)应该被禁用。我来帮你。*** doxygen已完成
2012年12月4
你好,我真的很喜欢doxygen集成,从现在开始我会使用它。在我看来,只有一个次要的功能缺失了。
在定义后,我想在课堂变量上发表评论。在某种程度上可能是有可能还是有快速修复以启用该工具?
例如classdef CameraModel属性ImageSize = [640480];%>摄像头图像大小(像素为x y)结束结束
抱歉,我不是很熟悉perl,所以我不能自己做它。
印度证券交易委员会
2012年11月2日
实际上有人帮助了我已经解决了这个问题。文件m2cpp.pl是for for dos的。一个人必须重新格式化Linux,以便让一切正常工作(我用Tofrodos包做了它)。该计划很棒:-)
它对我来说*几乎*有效,我怀疑它可能与Linux问题有关。我收到以下错误信息
/media/sda5/Giovanni/Utilities/Matlab_utilities/Matlab_exchange_downloads/DoxygenMatlab/m2cpp.pl: not found . sh /media/sda5/Giovanni/Utilities/Matlab_utilities/Matlab_exchange_downloads/DoxygenMatlab/m2cpp.pl: not found . sh在此之后的HTML文件将包含任何文档(因为不会产生c++风格的注释)。但是m2cppp .pl在那里,我已经尝试移动它,但仍然收到相应的错误消息。谁能告诉我,我应该从哪里开始寻找解决这个问题的方法?提前谢谢。
2012年9月18日
伟大的贡献,非常感谢!
2011年12月19日
亲爱的法布里斯,您的包是否能够记录使用旧类规范的代码(在使用“classdef”之前)?
非常感谢,汤姆
2011年10月26日
2011年9月27日
大家好
我得到了一个错误使用珍珠脚本如下:
读取和解析标记文件预处理D: / Daten Projekt . . / src / fcn.m……不能在D:\Daten\Projekt\..\Filter\m2cpp.pl第47行(正式的第53行)中使用未定义的值作为文件句柄引用。解析文件D: / Daten / Projekt / . . / src / fcn.m……
我尝试执行Bastian(07.07.2011)的补丁,但唯一的行号从43变成了47。
我在Windows XP-SP3上使用Matlab 2009B的珍珠版本与Doxygen 1.7.4
谢谢你的帮助,Eckard克洛茨。
2011年7月9日
法布里斯,再次感谢你的精彩剧本。
如果能够在文档中隐藏一些信息,这将是一个很好的改进:->为公共api隐藏隐藏的方法/属性。->隐藏set.my_property/get。类中的My_property方法在文档中是无用的
2011年7月7
法布里斯,我已经解决了前面的包问题,修改PERL脚本m2cpp.pl:
在第42行(在foreach $ my_fic之后)$包=“”;If ($my_fic =~ /^[^\+]*\+(.*)[\/\\].*\.m/g]){/ * / * /$包= 1美元。“。”;$包=〜s / [\/\\] +/\./ g;}
在第176和180行(当定义$classDef时:替换:$classDef = "class ".$className$classDef = "class ".$package.$className .
使用此修补程序,您的代码将与Matlab软件包兼容!
法布里斯,谢谢你的好剧本。
但是,是否可以包括对包装的支持?金宝app例如,如果你有:./ +PackageName/classname.m.。/ ChildClassName.m其中ChildClassName < PackageName。ClassName,然后脚本结合Doxygen将为ClassName创建2个不同的页面:-一个ClassName包含所有方法和属性的定义-一个用于PackageName。ClassName根本不包含任何定义(只有继承关系图)
也许您可以使用c++名称空间来解决这个bug?(或者也许Java软件包更适合实现嵌套包如./ adkage1/ adpackage2/myclass.m)
如果你能帮忙的话,提前感谢你!
PS:对于那些像Cedric谁有一些问题与"< handle"继承,你必须更新你的Doxygen安装:-)
2011年4月26日
Doxygen的精彩接口,很容易实现。
一个非常小的niggle是Perl脚本顶部的shebang,在最新的更新点到perl.exe - 这需要在它将在工作之前编辑* nix / os x ...
2011年4月11日
Fabrice,谢谢你的快速回复。该标志已经设置为是。但是,与此同时,我意识到Doxygen适用于位于标准文件夹中但不在类文件夹中的私有目录:
foo /私人的东西。m %作品foo / @myclass /东西。m %作品foo/@myclass/private/stuff.m%不会出现在doxygen中
问候
2011年4月6
LeFlaux,我猜你的问题是Doxygen问题(也许EXTRACT_PRIVATE在你的Doxyfile中设置为NO)。如果没有,你能给我一个测试用例吗?这样我可以重现你的问题。
2011年3月25日
亲爱的法布里斯,
谢谢你的这个伟大和有用的软件!只有一个小问题:我在我的matlab项目中得到了名为“private”的目录。不显示包含在这些目录中的.m文件的文档。有什么建议吗?
2011 3月23日
当属性名以“end”(例如“endDate”)开头时,也会出现同样的问题(参见2011年3月11日的帖子)。
2011年3月22日
非常感谢这个伟大的工具!
2011年3月18日
我在“@”文件夹类定义上使用它时遇到了一个小问题。看起来很奇怪,当我的函数(定义在@文件夹内的外部.m文件中)的名称以“m”字母开头时,这个函数不会出现在生成的类描述中。当我在另一个字母中更改它时,它就可以正常工作了。任何想法?谢谢
2011年3月11日
嗨法布里斯,
我注意到了一个小问题。从来自Package-Directory的类中的多重继承,基类名称错误地定义。
例如:+我-软件包目录Baseclass.m - 基类IN +我的目录SomeClass。m -一些类在+我的目录
“SomeClass”定义:classdef someclass 结束
创建文档时,获取SomeClass从“My”,A不是来自“My.BaseClass”或“Baseclass”的文档。:)
2011年3月2
嗨,塞德里克,
- M2CPP.PL脚本完全支持继承语法(ClassDef MyClass <句柄):您能否向我发送一个测试文件,以便我可金宝app以看到您使用此语法经历此类错误的原因?你的第二个问题是Doxyfile中的编码配置问题(你不应该使用UTF-8编码,但可能使用ISO8859-1编码)
问候,
豆腐
2011年2月16日
看起来不错,但是我确实遇到了一些问题:我的一个脚本是派生自'handle'的类定义:classdef MyClass <句柄解析器给出一个错误,因为<没有被>关闭有办法避免这种情况吗?另一个问题是解析器会给出非ascii字母的错误(é, è,…)
2011年1月22日
我一直在使用和享受你的产品。我有一个简短的问题。1)我使用Matlab 2007a,只有设防,即,不是课程。我无法获得doxygen要使用graphviz或附带的图形库创建任何图形。我熟悉Doxygen,并想知道您的产品与Doxygen一起支持通过功能呼叫的图形生成吗?金宝app我使用一个在线发布的类似MILIAR PERL脚本,将来自.c到.c转换为.c,它可能会在doxygen中生成图表。谢谢您的时间,在下面包含.m,其中没有生成图形(我在doxygen中启用了图形生成,并且我认为的所有设置都是正确的aslwell)。%> @brief函数的简要说明%>%>更详细的描述。%>% > \ latexonly%> $ \ bigl(\ begin {smallmatrix}%> a&b \\ c&d% > \ {smallmatrix} \ bigr)美元% > \ endlatexonly%>%> @param arg1第一个参数%> @param arg2第二个参数%>%> @retval out1第一个输出变量的返回值% > @retval out2% ======================================================================函数[out1, out2] = hhh(arg1, arg2)着干活=最长;out2 = __arg1;C = FB(OUT1);结束
% ======================================================================%> @brief函数的简要说明%>%>更详细的描述。%>% > \ latexonly%> $ \ bigl(\ begin {smallmatrix}%> a&b \\ c&d% > \ {smallmatrix} \ bigr)美元% > \ endlatexonly%>%> @param arg1第一个参数%>%> @retval out1第一个输出变量的返回值% ======================================================================函数[out1] = fb(arg1)着干活=最长;结束2)当我使用/ latexonly/ Endlatex仅限Doxygen命令在latex中放入一个矩阵,我的矩阵/方程有“///”注释表示c++,这不是问题,但如果有一个简单的修复,我想知道。
2010年12月11日
谢谢你的更新,fabrice!工作完美。Linux用户可能会发现我为m2cpp.pl工具调整的Doxyfile很有用:http://mikhailkonnik.pbworks.com/w/file/matlab2doxygen.zip
顺便问一下,有人知道如何使用LaTeX在Doxygen的文档中添加引用吗?我的意思是,一个人在文档中引用命令,而那些引用的资源应该出现在doxygen生成的文档中。什么好主意吗?
2010年12月8日
真棒!:)非常感谢这个工具!
注意m2cpp.pl: Linux用户应该将第一行更改为#!/ / usr / bin / perl
2010年11月18日
这似乎是一个很好的功能。
我注意到一个小虫
当我在多行声明函数时,无法识别不同的参数
例如,类似这样的内容将产生警告,并且不能正确显示
%> @param aaaaaa% > @param BBBBBBBB% > @param预备% > @param DDDDDDDD%> @Param EeeeEeeeeee%>%> @retval第一个输出变量的返回值第二个输出变量的RTex返回值
function [Res,RTex] = Compute_residual(AAAAAA,BBBBBBBB,…预备……DDDDDDDD,......EEEEEEEEEE)
2010年11月11日
我刚刚更新了m2cpp.pl脚本以更好地支持:金宝app- @ -Folder类定义-多类继承(classdef a < b & c)-类属性(密封的,隐藏的,…)事件(在生成的文档中转换为枚举事件)- 私人/保护/寄宿方法-私人/受保护/公共财产-常量属性(及其初始化)-抽象类(在生成的文档中转换为虚函数)- 现在读取函数声明中的忽略参数(〜)在生成的文档中读取并转换为argoRedarg
2010年11月10
法布里斯,请在文件交换系统更新你的文件。上一个版本工作得很好!
2010年11月9日
伟大的效用,谢谢。关于使用多文件类使用它的问题 - 我将它与一个文件中的类一起工作,但是当我在@folder中设置一个类时,我似乎没有基于函数的方法(在单独的文件中)位于我的doxygen派生类中。
2010年10月26日
遗传的另一个奇怪之处。假设父类继承了两个类Son1和Son2。在父类中有一个由Son1::doIt()重载的方法Father::doIt(),但由Son2直接从父类继承。奇怪的点是在Son2文档中,您将看到关于父亲:: doit()(即正常)的评论,然后是«在Son1»(这是奇怪的 - 或者可能这是一个标准的C ++文档协议?)
我的意思是,简要的抽象方法。有以下示例:
方法(摘要)函数calcPMInitiale (obj)结束投影(obj,迭代)结束
第一个方法将被检测到,但不是第二个(MatLab的正确定义)。
但我认为它不适用于抽象方法…
2010年10月24日
定义类的小校正(ClassDef(隐藏,密封)的SomeClass)正确处理:如果(/ (^ \ s * classdef) \ s * (\ s * \ (\ w, \ [s] + \ s * \)) ? \ s * ((\ w \ d_) +) \ s * < ? \ s * ((\ w \ d _]+)?(.*)/)
我认为文件“m2cpp pl”中的这一行有问题:如果(/ (^ \ s * classdef) \ s * (\ s * \(枚举\ s * \)) ? \ s * ((\ w \ d_) +) \ s * < ? \ s * ((\ w \ d _]+)?(.*)/)
“枚举”是没有文档记录的属性吗?我纠正如下:如果(/ (^ \ s * classdef) \ s * (\ s * \ ((\ w) + \ s * \)) ? \ s * ((\ w \ d_) +) \ s * < ? \ s * ((\ w \ d _]+)?(.*)/)
并添加了其他条件:...别的{$ className = 3美元;$ classdef =“class”。$ classname。“:公开4美元”;}
这是有效的,但我认为这不太正确。
2010年10月23日
你好!
我发现了一个漏洞。定义一个带有属性的类:classdef(隐藏)SomeClass < handle结束...或者使用任何其他类属性。这种定义被错误地解析。
Fabrice,你可以解决这个错误吗?我不明白Perl中的任何东西。:)
2010年10月21日
你好!不要使用matlab的perl!它无法正常工作。使用ActivePerl。
2010年10月11日
谢谢你,法布里斯,一个非常好的工具!正如Felix所指出的,似乎只支持包含在一个.m-file中的类,而不支持文件夹(@-)结构。金宝app此外,私有类属性显示为公共类属性。你能解决这个问题吗?我知道Matlab风格的访问,SetAccess,和GetAccess可能是棘手的,但它将真的是有帮助的。谢谢!
2010年9月29日
此工具是否遵守协作图?当使用另一个类组成类时,它不会在协作图中显示。协作图始终与类图相同。难道我做错了什么?
2010年9月17日
非常感谢这个伟大的工具。
当类在包中时,类层次结构是否没有被正确地检测到?
2010年8月13日
法布里斯,感谢您的关注,将扩展名从m改为。m修复了1.7.1中的问题。
2010年8月4日
马特,我试着使用Doxygen 1.7.1,我想我复制了你的问题。我猜这是一个Doxygen bug,但作为解决方案,你可以尝试改变Doxyfile中的EXTENSION_MAPPING的值:EXTENSION_MAPPING =。m= c++(不要忘记m前面的点)。你能告诉我这是否解决了你的问题吗?
2010年7月30日
非常好的工具-非常感谢!我发现我必须使用doxygen 1.6.1,而不是1.7.1(最新)。我看到从http://stackoverflow.com/questions/2701671/problem-with-input-filter-using-doxygen-1-6-3-on-windows-xp你以前也见过类似的情况。
2010年5月21日
编辑,我更改了m2cpp.pl文件,以便unix用户可以使用它。感谢您的反馈。
我在UNIX(Linux)下使用脚本(Linux)的脚本出现了问题,因为Perl脚本的第一行定义了使用的解释器(/ usr / bin / perl),使用回车(\ r)而不是a线饲料(\ n)。由于此,无法找到Perl解释器。由于第一行仅在UNIX环境中进行了意义,因此我认为应该将第一行(至少)的线结束字符更改为行馈送。
2010年5月7日
Mike,您只能评论功能块外的变量(这是一个doxygen限制),即:- 例如,传递给函数的参数:%> @brief函数的描述%> @param a这是对var a的描述%> @param b这是对var b的描述函数foo (a, b)...结束
- classdef定义中的属性,例如:classdef foo属性%>这是对var a的描述一个%>这是对变量b的描述b..结束...结束
2010年5月6日
法布里斯,谢谢你的节目!我唯一的问题是:是否有可能通过这样的脚本来注释变量?我是说,如果我有
a = [1,2,3,4];%>这是var的描述
它可以在doxygen-maved的文档中显示吗?
2010年5月2日
Lien-Chi,
也许你的perl exe没有正确安装(它似乎是由Matlab提供的perl的情况)。你可以尝试以下方法:
1.在Doxyfile中设置以下变量:perl m2cpp.pl INPUT_FILTER =FILE_PATTERNS = * 00
2.如果它不工作,你应该尝试安装ActivePerl:与这个版本的perl,一切工作良好。
2010年4月29日(
为什么我收到了下面的信息?参数必须包含文件名-1在c:\用户\用户\桌面\DoxygenMatlab\m2cpp.pl行4
2010年3月30日
好了!如果它也可以通过处理类似这样的东西来生成枚举类,将是有用的,
类定义(枚举)颜色< int32
枚举红色(0)绿色(1)黄色(2)结束
结束
2010年2月3日
这正是我所寻找的,看到它能在子函数和面向对象代码上工作真是太棒了。这是mtoc的一个很好的替代,非常好用。感谢作者简化了我的生活,提高了我的生产力。辉煌!
找到Matlab Central中的宝藏,并发现社区如何帮助您!
在单个可执行文档中创建带有代码、输出和格式化文本的脚本。
了解实时编辑器
选择一个网站来获得可用的翻译内容,并看到当地的活动和提供。根据您所在的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室