小编Kev*_* P.的帖子

C++跨平台库和绑定的最佳文件夹结构

我即将开始使用C++编写的跨平台库.接下来,我打算为其他语言实现绑定,例如Python,Java等.这些库需要在主要平台上可用:win32,Linux和Mac OSX.

虽然该应用程序实际上是一个库,但是一些基本的控制台程序将与它一起捆绑以进行演示和测试.

在开始在Subversion中存储东西之前,我想提出一个最佳的文件夹结构.

我想的是:

/project                    //Top level folder

        /bin                //Binaries ready for deployment
            /linux_amd64    //Linux AMD64 platform
                  /debug    //Debug build - duplicated in all platforms
                  /release  //Release build - duplicated in all platforms
            /linux_i386     //Linux 32-bit platform
            /macosx         //Mac OS X
            /win32          //Windows 32-bit platform
                  /cygwin   //Windows 32-bit platform compiled with Cygwin
                  /vs.net   //Windows 32-bit platform compiled with Visual Studio .NET
            /win64          //Windows 64-bit platform

        /build              //Make and build files, IDE project files
            /linux_amd64    //Linux AMD64 platform
            /linux_i386     //Linux …
Run Code Online (Sandbox Code Playgroud)

c++ cross-platform

54
推荐指数
2
解决办法
2万
查看次数

调试NUnit测试的最佳方法是什么?

我的平台:带有NUnit 2.2.7的Visual C#2008 Express Edition

我的代码在一个项目中有一个解决方案,我的NUnit单元在同一个解决方案中的另一个项目中进行测试.

我一直在努力调试和单步执行NUnit测试.我在网上发现了一些建议调用以下内容:

NUnit.ConsoleRunner.Runner.Main(args);
Run Code Online (Sandbox Code Playgroud)

但这甚至没有编译 - 它有编译器错误:

错误1命名空间"NUnit.ConsoleRunner"中不存在类型或命名空间名称"Runner"(您是否缺少程序集引用?)

我添加了我能找到的每个装配参考,没有效果.

最后,这就是我一起攻击它并且它有效,但也许你好的读者可以提出一个更好的解决方案:

1)在我的测试项目中,我想要调试的测试用例的类名是MyTestClass.它有一个名为Init()的[TestFixtureSetUp]方法,实际测试用例在[Test]函数MyTest()中

2)在我的代码项目中,我有一个控制台程序TestProgram.cs,它编译成一个EXE.

在TestProgram.cs中,我以下列方式调用测试用例

// First instantiate the test class
MyTestClass tc = new MyTestClass();

// Call the TestFixtureSetup method
tc.Init();

// Now call the actual test
tc.MyTest();
Run Code Online (Sandbox Code Playgroud)

这有效,我可以调试并单步执行测试用例.

如果有人在没有支付额外插件的情况下使用Visual Studio 2008 Express有任何更好的建议,我感谢您的建议.

c# nunit visual-studio-2008

12
推荐指数
1
解决办法
5072
查看次数

对于需要引用其他类的类,C#中的优秀设计模式是什么?

我正在研究C#.NET中的业务问题.我有两个名为C和W的类,它们将在不同的时间独立实例化.

类C的对象需要包含对类W的0 ... n个对象的引用,即C对象最多可包含n个W对象.

每个W对象需要包含对C类的1个对象的引用,即W对象包含在一个C对象中.

通常首先实例化C类的对象.稍后,将发现并实例化其W内容.在此之后,我需要将C和W对象相互交叉引用.

这有什么好的设计模式?我实际上有一些案例,其中涉及三个或四个类,但我们可以讨论两个类来保持简单.

我在考虑一些简单的事情:

class C
{
   public List<W> contentsW;

}

class W
{
  public C containerC;

}
Run Code Online (Sandbox Code Playgroud)

这将暂时起作用,但我可以预见必须编写相当数量的代码来跟踪所有引用及其有效性.我想在后面实现代码,只对容器进行浅刷新,并对所有引用类进行深度刷新.还有其他方法,它们有什么优势?

编辑11/3:感谢所有人的好答案和良好的讨论.我最终选择了jop的答案,因为它最接近我想做的事,但其他答案也有帮助.再次感谢!

.net c# class-design reference class

7
推荐指数
1
解决办法
3922
查看次数

从DOxygen XML输出中提取函数调用列表

我在DOxygen论坛上发布了一个问题,并在此发布它以获得更好的响应.

我有一个约2,900个功能的中等大小的C项目.我正在使用DOxygen 1.5.9,它成功生成了函数的调用图.有没有办法将其提取出来进行进一步分析?一个简单的配对列表就足够了,例如

Caller,Callee
FunctionX, FunctionY
...
Run Code Online (Sandbox Code Playgroud)

我对XSLT很满意,但我必须说DOxygen XML输出很复杂.有没有人以前这样做过,可以提供一些如何解析XML文件的指导?

提前致谢!

doxygen

6
推荐指数
1
解决办法
3053
查看次数

是否有任何数据库模型设计器可以输出SQLAlchemy模型?

我正在实现一个数据库模型来存储iCal日历格式的20多个字段,并且面临着繁琐地将所有这些键入到SQLAlchemy model.py文件中的麻烦。有没有更聪明的方法?我正在寻找可以为我创建model.py文件的GUI或模型设计器。我将指定列名和一些属性,例如类型,长度等。

至少,我需要这位设计师为一张桌子输出一个模型。附加要求,按优先级从高到低排列:

  • 创建多个表
  • 支持多个表之间的基本关系(1:1、1:n)
  • 列上的支撑约束。

我也对实现目标的其他方式持开放态度,也许使用GUI在数据库中创建表,然后将它们反映回模型中。

非常感谢您的反馈。

python model sqlalchemy data-modeling

3
推荐指数
2
解决办法
1903
查看次数

您能为Visual C#.NET解决方案推荐.cvsignore文件吗?

我开发了包含三个项目的Visual C#.NET 2008 Express Edition解决方案.我正在清理它以将其提交到CVS存储库.

在构建过程中创建的几个文件不必放在存储库中,因为它们将自动重新生成.

问题:是否有人可以建议将模式列表放入.cvsignore文件中,以便忽略这些生成的文件和文件夹?

.net c# cvs visual-studio-2008 visual-studio

1
推荐指数
1
解决办法
632
查看次数

我的类应该使用什么接口或方法在Console.WriteLine中打印我想要的内容?

我有一个类F的对象.我想使用Console.WriteLine输出对象的内容,以便快速和脏状态更新,如下所示:

Console.WriteLine(objectF);

这只会打印出控制台类的名称:

F
Run Code Online (Sandbox Code Playgroud)

我想以某种方式重载这个,以便我可以打印出一些关于对象及其属性的有用信息.

我已经有一个解决方法:在我的类中重载ToString方法,然后调用:Console.WriteLine(objectF.ToString());

但我宁愿使用更简单的语法.有任何想法吗?

.net c# console-application console.writeline

1
推荐指数
1
解决办法
606
查看次数