Code coverage tool for Visual Studio TDD Project

My code is produced via Test Driven Development. My tools are Visual Studio 2010 express, Google Test, C++98 and the latest version of boost. I write my own Mock and am not using Google Mock. What open-source tools would you recommend me so that I can establish my code coverage? I'm using gcov. My setup is fairly complicated now that I'm having to think about describing it: I

Visual Studio TDD项目的代码覆盖工具

我的代码是通过测试驱动开发生成的。 我的工具是Visual Studio 2010 express,Google Test,C ++ 98和最新版本的boost。 我写我自己的模拟,并没有使用Google Mock。 你会推荐哪些开源工具,以便我可以建立我的代码覆盖范围? 我正在使用gcov。 我的设置相当复杂,现在我不得不考虑描述它: 我使用了stl的MinGW发行版,可在nuwen.net上获得gcc(g ++)和gcov。 这给了我一定程度的可移植性。 我使用scons和批处理文

how does ptrace catch fork's system call?

I try to use ptrace to catch child process system call id such as execve(11) or fork(2). my code is here. #include <sys/syscall.h> #include <sys/reg.h> #include <sys/ptrace.h> #include <sys/wait.h> #include <unistd.h> #include <stdio.h> int main(){ pid_t pid; if ((pid = fork()) == 0){ ptrace(PTRACE_TRACEME, 0, NULL, NULL); pid_t t =

ptrace如何捕获fork的系统调用?

我尝试使用ptrace来捕获execve(11)或fork(2)等子进程系统调用标识。 我的代码在这里。 #include <sys/syscall.h> #include <sys/reg.h> #include <sys/ptrace.h> #include <sys/wait.h> #include <unistd.h> #include <stdio.h> int main(){ pid_t pid; if ((pid = fork()) == 0){ ptrace(PTRACE_TRACEME, 0, NULL, NULL); pid_t t = fork(); } else{

Different results for pow on x86 and x64

I am wondering why I am observering different results when using pow on x86 and x64 respectively. In our application we control the floating point rounding mode, which has worked fine on both Windows and Linux 32 bit. #include <cmath> #include <cstdio> #include <cfloat> void checkEqual(double expected, double observed) { if (expected == observed) { printf("Expe

x86和x64上pow的不同结果

我想知道为什么我分别在x86和x64上使用pow时观察到不同的结果。 在我们的应用程序中,我们控制浮点舍入模式,该模式在Windows和Linux 32位上都能正常工作。 #include <cmath> #include <cstdio> #include <cfloat> void checkEqual(double expected, double observed) { if (expected == observed) { printf("Expected %.23f, got %.23fn", expected, observed); } else { p

Why is f(i =

I was reading about order of evaluation violations, and they give an example that puzzles me. 1) If a side effect on a scalar object is un-sequenced relative to another side effect on the same scalar object, the behavior is undefined. // snip f(i = -1, i = -1); // undefined behavior In this context, i is a scalar object, which apparently means Arithmetic types (3.9.1), enumeration types, po

为什么是f(i =

我正在阅读关于评估违规的顺序,他们举了一个令我困惑的例子。 1)如果标量对象的副作用相对于同一标量对象上的另一副作用未被排序,则行为是未定义的。 // snip f(i = -1, i = -1); // undefined behavior 在这种情况下, i是一个标量对象,这显然意味着 算术类型(3.9.1),枚举类型,指针类型,成员类型指针(3.9.2),std :: nullptr_t和这些类型的cv限定版本(3.9.3)统称为标量类型。 我不明白这种说法在这种情况

How to properly paint in WM

I'm new to using GDI+ and I was wondering how to fix the mess of creating and disposing objects that I have. Right now all the program needs to do is handle repeated WM_PAINT messages and update a DrawPie with increased degrees each time. I have called GdiplusStartup( &gdiplusToken, &gdiplusStartupInput, NULL ); when the window starts up, and GdiplusShutdown( gdiplusToken ); on W

如何在WM中正确绘制

我是使用GDI +的新手,我想知道如何解决创建和处理对象的混乱问题。 现在所有的程序需要处理重复的WM_PAINT消息,并且每次更新一个DrawPie 。 我调用了GdiplusStartup( &gdiplusToken, &gdiplusStartupInput, NULL ); 当窗口启动时, GdiplusShutdown( gdiplusToken ); 在WM_DESTROY 。 在顶部附近定义的度全局变量: volatile double degrees = 0; 这是我的WM_PAINT : case WM_PAINT: { hdc = BeginPai

Read file line by line

The contents of file.txt are: 5 3 6 4 7 1 10 5 11 6 12 3 12 4 Where 5 3 is a coordinate pair. How do I process this data line by line in C++? I am able to get the first line, but how do I get the next line of the file? ofstream myfile; myfile.open ("text.txt"); First, make an ifstream : #include <fstream> std::ifstream infile("thefile.txt"); The two standard methods are: Assume t

逐行读取文件

file.txt的内容是: 5 3 6 4 7 1 10 5 11 6 12 3 12 4 其中5 3是坐标对。 如何在C ++中逐行处理这些数据? 我能够得到第一行,但是如何获得文件的下一行? ofstream myfile; myfile.open ("text.txt"); 首先,制作一个ifstream : #include <fstream> std::ifstream infile("thefile.txt"); 这两种标准方法是: 假设每行都包含两个数字,并通过令牌读取令牌: int a, b; while (infile >> a >> b)

Filling a Partially Rounded Rectangle with GDI+

I have a rounded rectangle that I make like so dc.RoundRect(textBorder, CPoint(20, 20)); Later on I draw a line through it about 1/3 of the way down. dc.LineTo(textBorder.right, textBorder.top + 15); Now I would like to fill just the part above the line with a solid color. In other words I need to fill a partially rounded rectangle, because the top of the rectangle is rounded, but the bottom

用GDI +填充部分圆角矩形

我有一个圆形的矩形,我可以这样做 dc.RoundRect(textBorder, CPoint(20, 20)); 稍后我会在大约1/3的比例下划一条线。 dc.LineTo(textBorder.right, textBorder.top + 15); 现在我想用纯色填充线条上方的部分。 换句话说,我需要填充一个部分圆角的矩形,因为矩形的顶部是圆角的,但它的底部被线条截断。 是否有捷径可寻? 您是否尝试过使用CreateRoundRectRegion组合然后用FillRgn填充非矩形区域? 这是CreateRoundRe

Autocompletion in Vim

In a nutshell, I'm searching for a working autocompletion feature for the Vim editor. I've argued before that Vim completely replaces an IDE under Linux and while that's certainly true, it lacks one important feature: autocompletion. I know about Ctrl+N, Exuberant Ctags integration, Taglist, cppcomplete and OmniCppComplete. Alas, none of these fits my description of “working autoc

在Vim中自动完成

简而言之,我正在为Vim编辑器寻找工作自动完成功能。 我以前曾经争辩说,Vim完全取代了Linux下的IDE,虽然这确实如此,但缺乏一个重要的特性:自动完成。 我知道Ctrl + N,Exuberant Ctags集成,Taglist,cppcomplete和OmniCppComplete。 唉,这些都不符合我对“工作自动完成:”的描述 按Ctrl + N的作品很好(只)如果你福尔戈如何拼写class ,或while 。 好吧。 Ctags给你的基础,但有很多缺点。 Taglist只是一个Ctag

BulletPhysics "setLinearVelocity" not moving

I'm trying to create an FPS player that has a RigidBody using OpenGL and BulletPhysics. The only problem is to make the box move. I tried it with setLinearForce, applyForce and many others but is just don't want to move. It still responds to collisions but if it is moving because of a collision (I'm throwing a ball to test its physics) and I press any movement button on my keyboard

BulletPhysics“setLinearVelocity”不动

我试图创建一个使用OpenGL和BulletPhysics的RigidBody的FPS播放器。 唯一的问题是让盒子移动。 我用setLinearForce,applyForce和其他许多软件尝试过,但不想移动。 它仍然会对碰撞做出反应,但是如果它由于碰撞而移动(我正在投掷球来测试它的物理效果),并且我按下了键盘上的任何移动按钮,它就会停止。 如果它仍然是,我按下按钮,使其移动它只是不会作出反应(保持静态)。 这是玩家的课程。 #ifndef PLAYER_H #defin

Locating segmentation fault for mutithread program running on cluster

It's quite straightforward to use gdb in order to locate a segmentation fault while running a simple program in interactive mode. But consider we have a multithread program - written by pthread - submitted to a cluster node (by qsub command). So we don't have an interactive operation. How we can locate the segmentation fault? I am looking for a general approach, a program or test too

为集群上运行的mutithread程序定位分段错误

在交互模式下运行一个简单的程序时,使用gdb来定位分段错误非常简单。 但考虑我们有一个多线程程序 - 由pthread编写 - 提交给群集节点(通过qsub命令)。 所以我们没有互动操作。 我们如何找到分段故障? 我正在寻找一种通用的方法,程序或测试工具。 我无法提供一个可重复的例子,因为在某些未知的情况下,程序非常庞大并且在群集上崩溃。 我需要在这种困难的情况下发现问题,因为程序在具有任意数量的线程的本地机器上