我的团队开始使用 doxygen 记录我们的 C 代码,特别关注我们的公共 API 标头。doxygen 中似乎有很多灵活性和不同的特殊命令,这很棒,但如果没有反复试验,就不清楚什么是好事,什么是坏事。
您最喜欢的标记代码的方式是什么?您必须做什么和不应该做什么?
请提供您的重要提示,每个答案一个,以方便投票。
我希望定义 API 文档的整个方法,包括提供一个模板来让团队的其他成员开始。到目前为止我有这样的事情:
/**
* @file example_action.h
* @Author Me (me@example.com)
* @date September, 2008
* @brief Brief description of file.
*
* Detailed description of file.
*/
/**
* @name Example API Actions
* @brief Example actions available.
* @ingroup example
*
* This API provides certain actions as an example.
*
* @param [in] repeat Number of times to do nothing.
*
* @retval TRUE Successfully did nothing. …Run Code Online (Sandbox Code Playgroud) 有没有人有一个很好的算法来计算轴最小值和最大值?
在为给定的一组数据项创建图表时,我希望能够给出算法:
算法应该返回
刻度应该是规则的间隔应该是"合理的"尺寸(例如1,3,5,甚至可能是2.5,但不是更多的sig figs).
可选值的存在将使此偏斜,但如果没有该值,则最大项目应出现在前两个刻度线之间,最低值位于底部两个之间.
这是一个与语言无关的问题,但是如果有一个C#/.NET库,那将会粉碎;)
我有一个Samurize配置,显示类似于任务管理器的CPU使用率图.
如何以当前最高CPU使用率百分比显示进程名称?
我希望每秒最多更新一次.Samurize可以调用命令行工具并在屏幕上显示它的输出,因此这也可以是一个选项.
进一步澄清:
我已经研究过编写自己的命令行c#.NET应用程序来枚举从System.Diagnostics.Process.GetProcesses()返回的数组,但是Process实例类似乎没有包含CPU百分比属性.
我能以某种方式计算出来吗?
是否可以使用ClickOnce部署本机Delphi应用程序而不使用将用于启动Delphi应用程序的存根C#exe?
同样的问题适用于VB6,C++和其他本机Windows应用程序.
最近我在jar装载(可能是)上遇到IE7崩溃,出现以下错误:
Problem signature:
Problem Event Name: BEX
Application Name: iexplore.exe
Application Version: 7.0.6001.18000
Application Timestamp: 47918f11
Fault Module Name: ntdll.dll
Fault Module Version: 6.0.6001.18000
Fault Module Timestamp: 4791a7a6
Exception Offset: 00087ba6
Exception Code: c000000d
Exception Data: 00000000
OS Version: 6.0.6001.2.1.0.768.3
Locale ID: 1037
Additional Information 1: fd00
Additional Information 2: ea6f5fe8924aaa756324d57f87834160
Additional Information 3: fd00
Additional Information 4: ea6f5fe8924aaa756324d57f87834160
Run Code Online (Sandbox Code Playgroud)
谷歌搜索显示这种问题在Vista中很 常见 , 与Java有关(尽管SUN 否定).另外我认为它与DEP有关.我找不到官方的微软Kb.
所以,问题是:
我得到了一个.xml文件,我需要将其作为DataSet读入我的代码中(作为后台,该文件是通过DataSet在C#中创建并调用来创建的dataSet.WriteXml(file, XmlWriteMode.IgnoreSchema),但这是由其他人完成的).
.xml文件的形状如下:
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Foo>
<Bar>abcd</Bar>
<Foo>efg</Foo>
</Foo>
<Foo>
<Bar>hijk</Bar>
<Foo>lmn</Foo>
</Foo>
</NewDataSet>
Run Code Online (Sandbox Code Playgroud)
使用C#和.NET 2.0,我使用下面的代码读取文件:
DataSet ds = new DataSet();
ds.ReadXml(file);
Run Code Online (Sandbox Code Playgroud)
使用断点,在此之后line ds.Tables[0]看起来像这样(使用破折号代替下划线,我无法正确格式化):
Bar Foo-Id Foo-Id-0
abcd 0 null
null 1 0
hijk 2 null
null 3 2
Run Code Online (Sandbox Code Playgroud)
我找到了一个解决方法(我知道有很多)并且能够成功读取.xml,但我想了解为什么ds.ReadXml(file)以这种方式执行,所以我将来能够避免这个问题.谢谢.
作为我们产品中某些错误处理的一部分,我们想要转储一些堆栈跟踪信息.但是,我们遇到许多用户只需截取错误消息对话框的屏幕截图,而不是向我们发送程序中可用的完整报告的副本,因此我想在此对话框中提供一些最小的堆栈跟踪信息.
我机器上的.NET堆栈跟踪如下所示:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
at System.IO.StreamReader..ctor(String path)
at LVKWinFormsSandbox.MainForm.button1_Click(Object sender, EventArgs e) in C:\Dev\VS.NET\Gatsoft\LVKWinFormsSandbox\MainForm.cs:line 36
Run Code Online (Sandbox Code Playgroud)
我有这个问题:
格式看起来是这样的:
at <class/method> [in file:line ##]
Run Code Online (Sandbox Code Playgroud)
但是,at和in关键字,我认为如果它们运行,比如挪威的.NET运行时而不是我安装的英文版,它们将被本地化.
有没有办法让我以语言中立的方式分离这个堆栈跟踪,这样我才能显示那些有这个条目的文件和行号?
换句话说,我想从上面的文字中获得这些信息:
C:\Dev\VS.NET\Gatsoft\LVKWinFormsSandbox\MainForm.cs:line 36
Run Code Online (Sandbox Code Playgroud)
您提供的任何建议都会有所帮助.
我有一个类,它有一个ToString生成XML 的方法.我想对它进行单元测试,以确保它生成有效的xml.我有一个DTD来验证XML.
我应该在单元测试中将DTD作为字符串包含在内以避免依赖它,还是有更聪明的方法来做到这一点?
我有一个类型的变量,Dynamic我肯定知道它的一个字段,让我们调用它a,实际上是一个数组.但是当我写作的时候
var d : Dynamic = getDynamic();
for (t in d.a) {
}
Run Code Online (Sandbox Code Playgroud)
我在第二行得到一个编译错误:
您无法迭代动态值,请指定Iterator或Iterable
我怎样才能使这个可编辑?
我总是使用C#xml语法为类和方法编写好的代码注释.我一直希望以后能够轻松地将它们导出.
今天我实际上必须这样做,但我很难找到方法.有什么我想念的吗?我想去菜单 - >构建 - >构建代码文档,但没有选项可以做到这一点.