小编Cal*_*602的帖子

如何在Hudson/Jenkins中获得CTest结果

我正在使用CTest(CMake的一部分)进行自动化测试.

如何在Jenkins仪表板中获得CTest结果?或者,换句话说,如何让CTest在类似JUnit的XML中输出?

junit hudson cmake ctest jenkins

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

operator << stackoverflow

请考虑以下代码:

class TextMessage{
public :
    TextMessage(){};
    TextMessage(std::string _text):text(_text){}
    std::string text;
    friend std::ostream & operator<<( std::ostream & os, const TextMessage & m);
};
std::ostream & operator<<( std::ostream & os, const TextMessage & m){
    return os << "text message : " << m.text;
}
Run Code Online (Sandbox Code Playgroud)

为什么在地球上:

  • Visual 2010 是否在操作员中发出C4717警告<<
  • 是否std::cout << textMsgInstance;由Visual预测的stackoverflow崩溃?

顺便说一句,取而代之的m.textm.text.c_str()作品.

c++ visual-studio-2010

7
推荐指数
2
解决办法
641
查看次数

SWIG的代表 - C#

(http://old.nabble.com/C%2B%2B-pointer-to-method-as-parameter-to-C--td17645155.html的完整副本,但无法使建议的宏工作)

我有以下C++函数(简化):

InputPort addInputPort(void(*callback)(InputPort));
Run Code Online (Sandbox Code Playgroud)

问题:生成的C#函数的签名是:

public InputPort addInputPort(SWIGTYPE_p_f__InputPort____void callback)
Run Code Online (Sandbox Code Playgroud)

SWIGTYPE_p_f__InputPort____void 不是委托(并且无论如何也没有公共构造函数),所以我不能使用addInputPort.

如何告诉SWIG使用代理呢?如果解决方案涉及%typemap,额外耐心等待我...

c# c++ swig delegates

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

读取异步管道 - 丢失数据

我想从管道中读取数据.读取不能阻塞主线程(所以一切都在一个单独的线程中),并且它必须是可取消的(因此我使用带FILE_FLAG_OVERLAPPED标志的重叠IO )

以下代码已简化,但我只删除了错误检查:

pipe = CreateNamedPipe("\\\\.\\pipe\\pipename", PIPE_ACCESS_INBOUND | FILE_FLAG_OVERLAPPED , 0, 1, 1024, 1024, 1000, NULL);

while (1) {
  // wait for either new data, or cancellation
  DWORD wait = WaitForMultipleObjects(2,events,FALSE,INFINITE);

  // Assume "new data event" and no error

  GetOverlappedResult(pipe,&overlap,&unused,FALSE); // always succeeds
  ReadFile(pipe,outputbuffer,neededsize,outputsize, &overlap); // sometimes says ERROR_IO_PENDING via GetLastError()
}
Run Code Online (Sandbox Code Playgroud)
  • 正确接收第一个缓冲区.
  • 几秒钟内没有数据发送
  • 这似乎标志着这一事件.没有数据被读取(没有被发送!)和ReadFile()集合ERROR_IO_PENDING.
  • 发送另一组数据
  • ReadFile 丢失了一些新数据.

要精确,最后ReadFile()我在请求失去尽可能多的数据前面 ReadFile().

我做错了什么?

强制性参考

编辑 - 正确的方式,再次没有错误检查:

BOOL res = …
Run Code Online (Sandbox Code Playgroud)

c winapi multithreading asynchronous pipe

5
推荐指数
0
解决办法
56
查看次数