问题列表 - 第30055页

如何使用boost :: test库组织测试用例?

我有一个包含50多个.H/.CPP文件/类的项目.我想用自己的测试用例测试每个类,其中包括测试每个类的不同方面的方法.我的类位于不同的目录中,如下所示:

/project
  /include
    /SuperModule
      Foo.h
      Foo.cpp
      ..
    Alpha.h
    Alpha.cpp
    ..
  /test         // I assume that my tests shall be here
  main.cpp
  Makefile
Run Code Online (Sandbox Code Playgroud)

我想使用boost :: test作为单元测试框架.我应该如何组织我的文件,如何命名,等等.一些提示或链接或建议将不胜感激.谢谢.

c++ boost boost-test

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

"无法打开文件"编译时错误

问题描述:

偶尔在调试时,我收到以下错误.我正在使用visual studio 2010:

1>------ Build started: Project: projectName, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1104: cannot open file 'C:\Projects\projectName\Debug\projectName.exe'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

请注意,这projectName是我的项目的名称.当我再次调试,进行更改和调试时发生错误(完成所有这些后,上面的错误显示而不是第二次运行程序).

复制步骤:

  1. 创建一个新的空c ++项目,并将一个名为"main.cpp"的文件添加到sources文件夹中
  2. 将以下代码复制到main.cpp中:

    int main(){
        return 0;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 单击绿色调试箭头按钮,并记下程序的成功运行.确保它已关闭且调试会话已结束.打开进程资源管理器并确保项目的exe不再运行(如果是,请等到它关闭).
  4. 擦除main.cpp的内容并将其替换为此代码(或任何其他将正确编译的代码,与上面使用的代码不同):

    #include<iostream>
    int main(){
        std::cout<<"hello\n";
        return 0;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  5. 单击绿色调试箭头按钮.IDE将显示致命LNK1104错误,而不是运行程序.你现在已经复制了这个问题.

有想法该怎么解决这个吗?


额外细节:

  • 如果我在发生错误后尝试更改权限或删除projectName.exe,则会显示一个错误弹出窗口,其中显示:

    需要权限来执行此操作

    您需要计算机管理员的许可才能对此文件进行更改

  • 我正在使用Windows 7.

  • 我使用的帐户是管理员帐户,但是当我使用非管理员帐户时,此问题也会完全相同.

  • 发生错误后2-3分钟,我无法重建或调试项目,但在大约那段时间后,我可以再次开始重新执行步骤.


更新:BOUNTY

任何可以提供解决问题的解决方案的人都可以获得100个代表:)

我已经尝试停止可能干扰VC++访问文件的所有服务,进程和应用程序,但问题仍然存在.此外,作为管理员运行vc ++没有帮助.

visual-studio

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

C++ CLI类问题

-----你好,世界2.cpp -----

// Hello, World 2.cpp : main project file.

#include "stdafx.h"
#include "hello.h"
#include <string>

using namespace System;
using namespace std;

int main(array<System::String ^> ^args)
{
    hello hi = new hello("Bob", "Blacksmith");
    Console::WriteLine(L"Hello, " + hi.getName + "!");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

----- hello.h -----

#include <string>
using namespace std;

#ifndef HELLO_H
#define HELLO_H

class hello
{
private:
    string _fname;
    string _lname;
    //hello() { } // private default constructor

public:
    hello(string fname, string lname);
    void SetName(string fname, string lname);
    string …
Run Code Online (Sandbox Code Playgroud)

c++-cli

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

根据使用的字体有条件地执行宏

我是&符号的忠实粉丝 - 我非常虔诚地听取SimpleBits的建议"使用最好的&符号".

为此,我在LaTeX中定义了以下快捷方式:

\let\amp\&
\renewcommand\&{{\scalebox{1.2}{\textnormal{\fontspec{Baskerville}\itshape\amp}}}}
Run Code Online (Sandbox Code Playgroud)

简而言之,这将"正常"&符号的所有用法改为时尚的变体,例如:

This is a text \& it contains an ampersand.
Run Code Online (Sandbox Code Playgroud)

(使用\&而不仅仅是&因为LaTeX的工作方式 - 后者已经保留用于分隔表环境中的列.)

但是,这总是使用相同的字体 - 这里,Baskerville - 无论它是否适合.我想根据使用的字体系列使用不同的字体.也就是说,我想将另一个&符号与sans serif文本结合使用,特别是我想防止在monospace上下文中重写&符号.所以在以下两个上下文中,我不想触发上面的定义:

{\sffamily a \& b}
{\ttfamily a \& b}
Run Code Online (Sandbox Code Playgroud)

我怎么做?

我想象如下:

\renewcommand\&{
  \ifsans
    {\fontspec{Trebuchet MS}{\textnormal{\itshape\amp}}}
  \else
    \ifmono
      \amp
    \else
      {\fontspec{Baskerville}\scalebox{1.2}{\textnormal{\itshape\amp}}}
    \fi
  \fi}
Run Code Online (Sandbox Code Playgroud)

latex xetex

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

Eclipse的Galileo的"clone()"方法生成器

clone()从存储库中获取Eclipse Galileo中java 方法生成的最佳工具是什么?是什么原因导致Eclipse开发人员无法在标准版本中包含此工具?

java eclipse clone cloneable eclipse-3.5

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

为什么MSDN说通过路径加载程序集"很少"?

根据System.Assembly文档:

所述的LoadFileLoadFrom提供了用于在其中装配必须由路径来识别罕见的场景的方法.

他们建议您更常用其显示名称加载程序集(例如,"System.Windows.Forms,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089").

这对我没有任何意义.如果要通过其版本和公钥引用程序集,则应在编译时添加引用; 您不会在运行时使用Assembly类加载它.在运行时加载程序集的典型方案是,当您加载一个插件时,这将由路径完成 - 因为您要么扫描目录以获取插件,要么读取某种清单,说明哪里他们找到了.

为什么文档会说,在动态加载程序集的场景中,按路径加载它是"罕见的"?据我所知,它是通过显示名称加载它是罕见的.

.net msdn assemblies

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

基于ROM的可执行文件的基本问题

我对存储在ROM中的可执行文件有基本疑问.

据我所知,带有文本和RO属性的可执行文件存储在ROM中.问题是ROM是只读内存,如果有代码需要写入内存的情况会发生什么?

我无法想出任何一个例子来引用这里(可能我对这种情况一无所知或者我错过了基本的东西;)但是这个主题的任何亮点都可以帮助我理解!:)

最后关闭 - 1.有没有这样的情况?2.在这种情况下,将代码从ROM复制到RAM是答案吗?

回答一些例子可以大大帮助..

提前谢谢了!

/女士

embedded cpu operating-system computer-architecture

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

自定义默认的"新存储过程"SSMS 2008模板

我正在尝试自定义New Stored Procedure...Object ExplorerSQL Server Management Studio 2008上单击时实现的默认查询.

我已经找到了如何更改"创建存储过程(新菜单)"模板Template Explorer,但这意味着我将不得不继续打开模板资源管理器而不是像我通常那样点击新的存储过程.

如何编辑单击时出现的模板New Stored Procedure...

templates ssms stored-procedures sql-server-2008

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

我应该返回IEnumerable还是IList?

我希望从方法中返回一个有序的项目列表.我的返回类型应该是IEnumerable还是IList?

c# collections ienumerable

38
推荐指数
4
解决办法
8027
查看次数

如何进行方法签名缓存?

我正在使用.NET和C#构建一个应用程序,我想通过在方法中使用属性/注释而不是显式代码来缓存一些结果.

我想要一个看起来有点像这样的方法签名:

[Cache, timeToLive=60]
String getName(string id, string location)
Run Code Online (Sandbox Code Playgroud)

它应该根据输入创建一个哈希值,并将其用作结果的键.当然,有一些配置文件告诉它如何实际放入memcached,本地字典或其他东西.

你知道这样的框架吗?

我甚至对Java也感兴趣

.net c# methods caching

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