杂项环境问题
我如何为我的类生成 HTML 文档?C++ 有类似 javadoc
的工具吗?
是的。这里有一些(按工具名称的字母顺序排列)
- ccdoc 支持类似
javadoc
的语法并带有各种扩展。它可以免费复制和自定义。 - doc++ 生成 HTML 或 TeX。支持类似
javadoc
的语法并带有各种扩展。开源。 - doxygen 生成 HTML、LaTeX 或 RTF。支持类似
javadoc
的语法并带有各种扩展。开源。 - PERCEPS 生成 HTML、TeX、RTF、man page、纯文本以及任何你想要的格式(它允许你设置任意输出格式)。它可以免费复制。
其他文档工具列在 www.robertnz.net/cpp_site.html
。
有没有修复“C++”间距的 TeX 或 LaTeX 宏?
是的。
这里有两个用于“C++”一词的 LaTeX 宏。它们防止“C”和“++”之间出现换行符,第一个将两个“+”紧密排列,而第二个则不。你可以尝试两者,看看你最喜欢哪一个。
\newcommand{\CC}{C\nolinebreak\hspace{-.05em}\raisebox{.4ex}{\tiny\bf +}\nolinebreak\hspace{-.10em}\raisebox{.4ex}{\tiny\bf +}}
\def\CC{{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\tiny\bf ++}}}
这里还有两个用于“C++”一词的 LaTeX 宏。它们允许在“C”和“++”之间换行,这可能不是理想的,但为了以防万一,它们也被包含在这里。
\def\CC{C\raise.22ex\hbox{{\footnotesize +}}\raise.22ex\hbox{\footnotesize +}}
\def\CC{{C\hspace{-.05em}\raisebox{.4ex}{\tiny\bf ++}}}
有没有可以重新格式化 C++ 源代码的漂亮打印机?
按字母顺序排列
- A2PS 是一个基于 Unix 的漂亮打印机。可从
www.infres.enst.fr/~demaille/a2ps/
获取 - Artistic Style 是 C++、C 和 Java 源代码的重新缩进和重新格式化工具。可从
astyle.sourceforge.net/
获取 - C++2LaTeX 是一个 LaTeX 漂亮打印机。可从
roederberg.dyndns.org/~arnold/cpp2latex
获取 - V Communications, Inc. 的 C-Clearly 是一个 Windows 程序,带有标准格式模板,也允许你自定义。
www.mixsoftware.com/product/ccl.htm
- GNU
indent
程序可能会有所帮助。它可以在www.arceneaux.com/indent.html
找到。你也可以通过查看www.gnu.org/order/ftp.html
或原始 GNU 站点prep.ai.mit.edu/pub/gnu/
找到“官方”GNU 镜像站点(例如,如果当前版本是 1.9.1,你可以使用prep.ai.mit.edu/pub/gnu/indent-1.9.1.tar.gz
)。 - 据报道,“HPS Beauty”是一个 Windows 95/98/NT4/NT2000 实用程序,可根据规则美化 C/C++ 源代码。界面完全是 GUI,但 HPS Beauty 也可以从命令行运行。它支持样式文件,允许你保存和恢复设置组。HPS Beauty 还提供一个可选的视觉结果窗口,显示文件修改前和修改后的对比。可选的 HTML 输出允许你在浏览器中查看带有语法高亮的源代码。
www.highplains.net
。 - “ProFactor StyleManager”有许多选项,并与 Microsoft Visual C++ 集成。它是一个商业产品,提供 14 天免费试用期。
www.profactor.co.uk/products.php
。 - “Source Styler for C++”有许多花哨的功能。它是一个商业产品,提供 15 天免费试用期。它似乎提供了对大量不同功能的控制。
www.sourcestyler.com/
。 tgrind
是一个基于 Unix 的漂亮打印机。它通常随 TeX 和 LaTeX 的公共发行版一起提供,位于目录"...tex82/contrib/van/tgrind"
中。Jerry Leichter 的一个更新版本 tgrind 可以在venus.ycc.yale.edu/pub
的 [.TGRIND] 中找到。[注意:如果任何人有 tgrind 的更新 URL,请告诉我。]- 来自
uncrustify.sourceforge.net
的uncrustify
。
最后,你可以考虑 lgrind
,这是另一个 C++ 到 LaTeX 的转换器(查看最接近 ctan 存档的镜像站点)。以下是 C++ 的 grind 定义(但这个定义不识别一些新关键字,例如 bool
或 wchar_t
,也不识别以 .cpp
结尾的文件为 C++)
C++|c++|CC:\
:pb=\p\d?\(:cf:np=\)\d?;:bb={:be=}:\
:cb=(SLASH)*:ce=*(SLASH):ab=(SLASH)(SLASH):ae=$:sb=":se=\e":lb=':\
:zb=@:ze=@:tb=%%:te=%%:mb=%\$:me=\$%:vb=%\|:ve=\|%:\
:le=\e':tl:id=_~\::\
:kw=asm auto break case cdecl char continue default do double else\
enum extern far float for fortran goto huge if int interrupt long\
near pascal register return short signed sizeof static struct\
switch typedef union unsigned while void\
#define #else #endif #if #ifdef #ifndef #include #undef # define\
endif ifdef ifndef include undef defined #pragma\
class const delete friend inline new operator overload private\
protected public template this virtual:
GNU emacs 有 C++ 模式吗?如果有,我在哪里可以获得它?
是的,GNU emacs 有 C++ 模式。
最新最好的 C++ 模式(和 C 模式)实现在文件 cc-mode.el
中。它是 Detlef 和 Clamen 版本的扩展。emacs 中包含一个版本。更新的版本可从 elisp 档案库获取。
我在哪里可以找到特定于操作系统的问题的答案(例如,BC++、Windows 等)?
请参考以下内容
- MS-DOS 问题:
comp.os.msdos.programmer
- MS-Windows 问题:
comp.windows.ms.programmer
- Unix 问题:
comp.unix.programmer
- Borland C++ 问题(例如,OWL、BC++ 编译器错误、一般 C++ 概念、Windows 编程)
- 使用你的网络浏览器:
www.cs.rpi.edu/~wiseb/owl-list/
- 要加入邮件列表:发送一封主题行包含“SUBSCRIBE”的电子邮件到
[email protected]
- 获取常见问题解答:
ftp.netlab.cs.rpi.edu/pub/lists/owl-list-faq/drafts/owl_faq.hlp
- 使用你的网络浏览器:
为什么我的 DOS C++ 程序显示“抱歉:浮点代码未链接”?
编译器试图通过不包含浮点到字符串格式转换例程来节省可执行文件中的空间,除非它们是必需的,但有时它会猜错,并给你上述错误消息。你可以通过 (1) 使用 <iostream>
而不是 <cstdio>
,或 (2) 在编译的某个地方包含以下函数(但不要调用它!)来解决此问题
static void dummyfloat(float *x) { float y; dummyfloat(&y); }
有关使用 <iostream>
而不是 <cstdio>
的更多原因,请参阅关于流 I/O 的常见问题解答。
为什么我的 BC++ Windows 应用程序在我未运行 BC45 IDE 时崩溃?
如果你正在使用 BC++ 进行 Windows 应用程序开发,并且在 BC45 IDE 运行时一切正常,但当 BC45 IDE 关闭时在创建窗口期间出现异常,那么请在你的应用程序的 InitMainWindow()
成员函数 (YourApp::InitMainWindow()
) 中添加以下代码行
EnableBWCC(TRUE);