小编hah*_*g65的帖子

使用C++进行测试驱动开发

期待在C++中开始做TDD.我见过CPPUnit,但我想知道是否还有其他选择?

谢谢你的建议!

c++ tdd cppunit

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

没有IDE的C++编译器Windows?

我正在寻找一个适用于Windows的C++编译器(例如g ++),我可以在我的cmd中运行.

我正在使用notepad ++作为我的文本编辑器,我想在那里设置一个可以为我编译程序的宏.

我不想安装Cygwin.

有什么建议?

c++ windows compiler-construction notepad++

20
推荐指数
4
解决办法
3万
查看次数

CPU亲和力掩码(将线程放在不同的CPU上)

我有4个线程,我试图设置线程1在CPU 1上运行,线程2在CPU 2上运行等等.但是,当我在下面运行我的代码时,亲和力掩码返回正确的值,但是当我这样做时sched_getcpu()在线程上,它们都返回它们在CPU 4上运行.

有人知道我的问题是什么吗?

提前致谢!

#define _GNU_SOURCE
#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <sched.h>
#include <errno.h>

void *pthread_Message(char *message)
{
    printf("%s is running on CPU %d\n", message, sched_getcpu());
}

int main()
{
    pthread_t thread1, thread2, thread3, thread4;
    pthread_t threadArray[4];
    cpu_set_t cpu1, cpu2, cpu3, cpu4;
    char *thread1Msg = "Thread 1";
    char *thread2Msg = "Thread 2";
    char *thread3Msg = "Thread 3";
    char *thread4Msg = "Thread 4";
    int thread1Create, thread2Create, thread3Create, thread4Create, i, temp;

    CPU_ZERO(&cpu1);
    CPU_SET(1, &cpu1);
    temp = pthread_setaffinity_np(thread1, sizeof(cpu_set_t), …
Run Code Online (Sandbox Code Playgroud)

linux parallel-processing multithreading pthreads

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

如何使用ioctl()来操作我的内核模块?

所以我正在尝试编写一个使用linux/timer.h文件的内核模块.我让它在模块内部工作,现在我试图让它从用户程序开始工作.

这是我的内核模块:

//Necessary Includes For Device Drivers.
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/errno.h>
#include <linux/proc_fs.h>
#include <asm/uaccess.h>
#include <linux/timer.h>
#include <linux/ioctl.h>

#define DEVICE_NAME "mytimer"
#define DEVICE_FILE_NAME "mytimer"
#define MAJOR_NUM 61
#define MINOR_NUM 0

MODULE_LICENSE("Dual BSD/GPL");

static struct timer_list my_timer;

struct file_operations FileOps = 
{
    //No File Operations for this timer.
};

//Function to perform when timer expires.
void TimerExpire(int data)
{
    printk("Timer Data: %d\n", data);
}

//Function to set up timers.
void TimerSetup(void)
{
    setup_timer(&my_timer, TimerExpire, …
Run Code Online (Sandbox Code Playgroud)

linux kernel kernel-module linux-kernel gumstix

14
推荐指数
3
解决办法
3万
查看次数

Windows的优秀文本编辑器?

我正在寻找一个文本编辑器,就像Mac上的TextMate(www.macromates.com),但我希望它有一个内置的编译器.

例如,我不想要像Visual Studio或Eclipse这样的IDE.我正在寻找一个编辑器,我可以单击"运行",它将编译我的代码并在终端中显示结果.

我知道一个文本编辑器,它是TextMate的Windows姐妹应用程序,但它没有内置的编译器.我也不想为g ++/gcc安装Cygwin.

c++ windows compiler-construction text-editor

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

编写代数游戏的C++版本24

我正在尝试编写一个类似于游戏24的C++程序.对于那些不知道它是如何播放的人,​​基本上你试图通过+, - 的四个代数运算符找到4个数字总共24的任何方式, /,*和括号.

例如,假设有人输入2,3,1,5((2 + 3)*5) - 1 = 24

由于括号的位置数量有限,编码函数以确定三个数字是否可以产生24是相对简单的,但是当输入四个变量时,我无法确定如何有效地编码代码.


我现在有一些排列工作,但我仍然无法枚举所有情况,因为我不知道如何编码操作相同的情况.

另外,计算RPN的最简单方法是什么?我遇到过很多这样的页面:http: //www.dreamincode.net/forums/index.php? showtopic = 15406但作为初学者,我不知道如何实现它.

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;





bool MakeSum(int num1, int num2, int num3, int num4)
{

  vector<int> vi;
  vi.push_back(num1);
  vi.push_back(num2);
  vi.push_back(num3);
  vi.push_back(num4);

  sort(vi.begin(),vi.end());


  char a1 = '+';
  char a2 = '-';
  char a3 = '*';
  char a4 = '/';
  vector<char> va;
  va.push_back(a1);
  va.push_back(a2);
  va.push_back(a3);
  va.push_back(a4);

  sort(va.begin(),va.end());
  while(next_permutation(vi.begin(),vi.end()))
    {

      while(next_permutation(va.begin(),va.end()))
    {

      cout<<vi[0]<<vi[1]<<vi[2]<<vi[3]<< va[0]<<va[1]<<va[2]<<endl;

      cout<<vi[0]<<vi[1]<<vi[2]<<va[0]<< vi[3]<<va[1]<<va[2]<<endl;

      cout<<vi[0]<<vi[1]<<vi[2]<<va[0]<< va[1]<<vi[3]<<va[2]<<endl; …
Run Code Online (Sandbox Code Playgroud)

c++

8
推荐指数
2
解决办法
2954
查看次数

如何读回CUDA纹理进行测试?

好的,到目前为止,我可以在主机上创建一个数组(float类型),并将其复制到gpu,然后将其作为另一个数组返回到主机(通过与原始数据进行比较来测试副本是否成功).

然后我从GPU上的阵列创建一个CUDA数组.然后我将该数组绑定到CUDA纹理.

我现在想要读回纹理并与原始数组进行比较(再次测试它是否正确复制).我看到了一些使用readTexel()下面显示的函数的示例代码.它似乎对我没有用...(基本上一切都有效,除了bindToTexture(float* deviceArray)从该readTexels(SIZE, testArrayDevice)行开始的函数部分).

有什么不同的方法可以做到这一点?或者我的代码中遗漏了一些明显的问题?

谢谢你的帮助!

#include <stdio.h>
#include <assert.h>
#include <cuda.h>

#define SIZE 20;

//Create a channel description to use.
cudaChannelFormatDesc channelDesc = cudaCreateChannelDesc(32, 0, 0, 0, cudaChannelFormatKindFloat);

//Create a texture to use.
texture<float, 2, cudaReadModeElementType> cudaTexture;
//cudaTexture.filterMode = cudaFilterModeLinear;
//cudaTexture.normalized = false;

__global__ void readTexels(int amount, float *Array)
{
  int index = blockIdx.x * blockDim.x + threadIdx.x;

  if (index < amount)
  {
    float x = tex1D(cudaTexture, float(index));
    Array[index] = x;
  } …
Run Code Online (Sandbox Code Playgroud)

arrays textures cuda

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

为什么锚标记小于子图像?

在我的网站上,http://www.redsquiggli.es在"与我联系"部分下,为什么我的锚标签较小(并在其下方)包含的图像?

锚不应该比它的内容更大(用它指定的填充)吗?

此外,我一直试图将这两个图标垂直居中在锚点所在的p标签中......自动边距也不起作用.这是什么原因?

html css

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

在Vista上打开cmd.exe

我正在编写C++控制台程序.编译后,当我从文件浏览器运行程序时,cmd.exe会自动关闭,以至于无法看到我的程序输出.

解决这个问题的唯一方法就是从cmd.exe里面运行程序

无论如何在程序运行完成后保持cmd.exe打开?

有什么设置我可以在某处改变吗?我不想使用cmd.exe/K运行批处理脚本

谢谢!

[编辑]不知道这是否重要,但我在Vista x64上

c++ cmd vista64

4
推荐指数
2
解决办法
3156
查看次数

有什么方法可以绕过BigQuery的表限制1000?

好像发生了1000个表限制,我们必须开始删除旧表.

我们可以通过任何方式获得增加吗?

google-bigquery

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