小编sbi*_*sbi的帖子

无条件杀死进程(Windows)

在C++中有没有办法无条件地杀死进程?

无论这个过程处于什么状态.

我知道TerminateProcess,但它仍然可能失败.如果您不希望它失败怎么办?

就像你在任务管理器中杀死进程一样,它会死掉; 无论.这就是我正在寻找的那种杀戮.

c++ windows

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

使用给定枚举的所有元素进行枚举,并在LINQ中插入其他元素

我有一个函数,我想从中创建另一个函数f(),以便对于原始枚举中的每个字符串,新的字符串具有和.元素的顺序很重要.IEnumerable<string>IEnumerable<string>ssf(s)

例:

IEnumerable<string> given  = { "A",         "B",         "C"         };
IEnumerable<string> wanted = { "A", f("A"), "B", f("B"), "C", f("C") };
Run Code Online (Sandbox Code Playgroud)

有没有办法使用LINQ 优雅地做到这一点?(如果没有,那么最优雅的方法是什么?)

c# linq

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

我该怎么做才能让断言不再阻止自动化测试?

我们在几个虚拟机上使用hudson/jenkins对我们的C#项目运行自动NUnit测试,这些虚拟机主要在某些服务器上无人值守.测试涉及启动几个交换数据的进程,其中一个是NUnit本身,另一个是由单元测试创​​建的.

有时,其中一个开发人员检查触发断言(Debug.Assert())的内容.然后弹出一个消息框,询问用户该做什么.通常这些发生在由单元测试创​​建的"外部"过程之一中.当其他进程放弃时,它们将阻止该进程,因为它们无法通信.但是,由于系统的性质,下一次测试也都会失败,只要阻止某个进程等待某人点击该消息框即可.

我被告知您可以更改.NET程序的设置,以便断言不会弹出消息框.理想情况下,该过程只会向stdout或stderr写一些内容,以便Jenkins记录.

那么我需要做些什么来关闭那些交互式断言对话框呢?

c# automated-tests hudson jenkins

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

对于24小时一分钟的布尔记录,什么是良好的数据结构

我的任务是创建一个数据结构,在过去24小时的每一分钟都保存一个布尔值.(事件X发生了吗?)我需要一直保持最后24小时.(即,将不断添加数据,弹出旧数据.)数据将持久保存到闪存驱动器.我们在嵌入式平台上,但内存不是那么有限(我有128MB可用),但碎片可能会成为一个问题.这是一个实时系统,但由于记录是每分钟,因此几乎没有运行时限制.

界面看起来像这样:

class x_record {
  public:
    // record whether or not x occurred this minute
    void record_entry(bool x_occured);

    // how many minutes has x occured in the last 24hrs? 
    unsigned int x_occurance_minutes() const;

  private:
    // HERE BE DRAGONS 
};
Run Code Online (Sandbox Code Playgroud)

存储实际数据的好数据结构是什么?我目前最喜欢的是std::deque<bool>24个阵列,long long其64个中的60个每个用于60分钟的一小时.后者是目前持久性的最爱.

我想我对这两个想法的优点和缺点都有一个很好的想法,但希望你们中的一些人可以提供额外的内部,甚至更多的想法.

PS:这是严格的C++ 03 + TR1 + Boost 1.52,没有C++ 11/14可用.

c++ data-structures

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

struct的成员的实际总大小

我必须将struct Data数组写入硬盘:


struct Data {
  char cmember;
  /* padding bytes */
  int  imember;  
};

AFAIK,大多数编译器会在数据的cmember和imember成员之间添加一些填充字节,但我想保存仅存档实际数据(没有填充).
我有下一个用于保存Datas数组的代码(在缓冲区而不是文件中进行简化):


bool saveData(Data* data, int dataLen, char* targetBuff, int buffLen)
{
  int actualLen = sizeof(char) + sizeof(int); // this code force us to know internal
                                              // representation of Data structure
  int actualTotalLen = dataLen * actualLen; 
  if(actualTotalLen > buffLen) {
    return false;
  }

  for(int i = 0; i < dataLen; i++) {
    memcpy(targetBuff, &data[i].cmember, sizeof(char));
    targetBuff += sizeof(char);
    memcpy(targetBuff, &data[i].imember, sizeof(int));
    targetBuff += sizeof(int);
  }
  return …
Run Code Online (Sandbox Code Playgroud)

c c++ data-structures

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

如何重载"new"运算符以从辅助存储器设备分配内存?

我正在寻找一种语法来从辅助存储设备而不是从默认堆分配内存.

我该如何实现它?malloc()默认情况下使用将它从堆中取出...当然必须有另一种方法!

c++ memory-management c++-faq

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

如何避免包含类实现文件?

而不是做

#include "MyClass.cpp"
Run Code Online (Sandbox Code Playgroud)

我想要做

#include "MyClass.h"
Run Code Online (Sandbox Code Playgroud)

我在网上看到,这样做被认为是不好的做法.

c++ coding-style class include

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

如何在C#中置换对象列表?

我有一个对象列表.我需要这些对象的所有可能的排列.

在C++中,有std::next_permutation().我一直试图在.NET Framework中找到一些东西,但是干涸了.

我错过了什么?

.net c#

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

哪个更快?

我想知道如果它是更快地具有std::vector<std::vector<double>>其中嵌套矢量总是有2个元素,或者是它更快地具有std::vector<MyPoint>其中MyPoint就像定义:

struct MyPoint {
  double Point[2];
};
Run Code Online (Sandbox Code Playgroud)

谢谢

c++ vector

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

我如何在C中获得昨天的日期?

我想把昨天的日期变成一个格式的字符:YYYYMMDD(没有斜点等).

我使用此代码来获取今天的日期:

time_t now;

struct tm  *ts;  
char yearchar[80]; 

now = time(NULL);  
ts = localtime(&now);

strftime(yearchar, sizeof(yearchar), "%Y%m%d", ts);
Run Code Online (Sandbox Code Playgroud)

我将如何调整此代码,以便生成昨天的日期而不是今天的日期?

非常感谢.

c date strftime localtime

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